30. Juli 2010  
  Suche:
 
  Basics
  Code-Galerie
  Forum
  FAQ
  Tipps & Tricks
  Literatur
  Knowledge Base
  Workshops
  JSP-Hosting
  JSP-Engines
  Jobbörse
  Links
  JSP-Sites
  Newsletter
  JSP-Test
  Impressum
  Username:
  
  Passwort:
  
  

  Jetzt registrieren
  Warum registrieren?

  Valid HTML 4.01!
  Valid CSS!
Forum

Ausgabe von Datensätze als Auswahlliste
 amazone, 10.01.2010 15:37:59

Hallo,

hoffentlich kann mir jemand helfen.

Was ich möchte: Ich habe viele Datensätze im Datenbank. Die möchte ich im Browser anzeigen als eine Auswahlliste (Auswahlkompenente soll checkbox sein). Jede Zeile im Datenbank soll als eine Auswahl ausgegeben werden.

Subject.java Datei :

package exam;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class Subject {

Statement st= null;
ResultSet rs = null;
Connection conn = null;

public void subjectShow(String Subjects){

try {
String driverName = "oracle.jdbc.driver.OracleDriver";
Class.forName(driverName);

String serverName = "localhost";
String portNumber = "1521";
String sid = "xe";
String url = "jdbcracle:thin:@" + serverName + ":" + portNumber + ":" + sid;
conn = DriverManager.getConnection(url, "test", "test");
st = conn.createStatement();

String sql = "select Subject from Exam";
rs = st.executeQuery(sql);


while (rs.next()) {

String rsSubject = rs.getString("Subject");
if(rsSubject != null){
System.out.println(rsSubject);
}
}

rs.close();
st.close();
conn.close();

}catch(Exception ex){
System.out.println(ex.getMessage());
}
}
}

subject.jsp Datei :

<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<%@page import="java.sql.ResultSet"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%
String Subjects = "";
String rsSubject1 = request.getParameter("rsSubject");
Subject subObject = new Subject();
subObject.subjectShow(Subjects);
%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Exam Subjects</title>
</head>

<body>
<h1>Select Subjects for Exam</h1>
<form action="subject.jsp">
<table>
<tr>
<td>
<input type="checkbox" name="id" value="<%=rsSubject1 %>">
<%
System.out.println(rsSubject1);
%>
</td>
</tr>
</table>
</form>
</body>
</html>

Das Problem: Die jsp-Datei wird zwar fehlerfrei ausgeführt, aber die Datensätze werden nicht ausgegeben. Ich vermute, dass es an folgender Code liegt:

String rsSubject1 = request.getParameter("rsSubject");

Habe lange rumprobiert und zu keinem Ergebnis gekommen.

Vielen Dank & Gruß
amazone


Zum Antworten auf einen Beitrag müssen Sie registriert und angemeldet sein.


Re: Ausgabe von Datensätze als Auswahlliste
 gandalf, 11.01.2010 05:04:30

Unabhängig davon, dass dein SW-Desing nicht mehr den neueren Richtlinien für Java-Webanwendungen espricht, ein paar Hinweise:

Die Signatur deiner DB-Zugriffsmethothe sollte besser
  public String subjectShow() lauten.
Du willst ja was zurückgeben und nicht von der JSP an den java-Code Parameter übergeben. Strings sind übrigends immutable, so dass dein aufruf nicht funktionieren kann.

In der JSP fehlt ein import auf dein package 'exam'. Der Zugriff erfolg bei geänderter Signatur mit:
<%
   exam.Subject subObject = new exam.Subject();
   String result = subObject.subjectShow();
%>

Die Ausgabe in einer checkbox kann so auch nicht funktionieren:
<h1>Select Subjects for Exam</h1>
<table>
<tr>
  <td>
    <input type="text" name="id" value="<%= result %>">
    <%
      System.out.println(result);
    %>
</td>
</tr>
</table>

gandalf



Zum Antworten auf einen Beitrag müssen Sie registriert und angemeldet sein.

Re: Ausgabe von Datensätze als Auswahlliste
 amazone, 11.01.2010 17:09:44

hab es verändert, aber alle Datensätze werden nicht ausgegeben. es wird nur eine ausgegeben.

java-datei :

package exam;

import java.sql.*;

public class Subject {
   public static int TEST = 0;
   
   Statement st= null;
   ResultSet rs = null;
    Connection conn = null;
   
    public String subjectShow(){
       String rsSubject = "";
       try {
         String driverName = "oracle.jdbc.driver.OracleDriver";
         Class.forName(driverName).newInstance();
         
         String serverName = "localhost";
         String portNumber = "1521";
         String sid = "xe";
         String url = "jdbc:oracle:thin:@" + serverName + ":" + portNumber + ":" + sid;
         conn = DriverManager.getConnection(url, "test", "test");
         st = conn.createStatement();
         
         String sql = "select Subject from Exam";
         rs = st.executeQuery(sql);
         
         while (rs.next()) {
            
            rsSubject = rs.getString("Subject");
            if(rsSubject != null){
               System.out.println(rsSubject);
            }
         }
         
         rs.close();
         st.close();
         conn.close();
       }catch(Exception ex){
          System.out.println("Unable to load the driver class!");
       }
      return rsSubject;      
    }
}

jsp-datei:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ page import="exam.Subject" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<%@page import="java.sql.ResultSet"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%
   exam.Subject subObject = new exam.Subject();
  String result = subObject.subjectShow();
%>

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Exam Subjects</title>
    </head>
   
    <body>
       <h1>Select Subjects for Exam</h1>
       
           <table>
               <tr>
               <td>
                  <input type="checkbox" name="id" value="<%=result %>">
                  <%
                     out.println(result);
                  %>
               </td>
               </tr>
            </table>
       
    </body>
</html>

Danke & Gruß
amazone


Zum Antworten auf einen Beitrag müssen Sie registriert und angemeldet sein.

Re: Ausgabe von Datensätze als Auswahlliste
 gandalf, 11.01.2010 18:05:07

Na dann stell mal deine Java-Klasse so um, dass sie zu dieser JSP passt.
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ page import="exam.Subject" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.ResultSet"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%
  Subject subObject = new Subject();
  ArrayList<String> result = subObject.subjectShow();
%>

<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <title>Exam Subjects</title>
</head>
 
<body>
   <h1>Select Subjects for Exam</h1>
   <table>
      <%
         int i = 1;
        for (String item : result) {
       System.out.println("item=" + item);
     %>
    <tr>
       <td><input type="checkbox" name='id<%= i++ %>' value="<%= item %>"></td>
       <td><%= item %></td>
    </tr>
    <%
        }
    %>   
   </table>
</body>
</html>

gandalf


Zum Antworten auf einen Beitrag müssen Sie registriert und angemeldet sein.


Legende: Anonymer User     registrierter User     sehr aktiver User

<< zurück 


Hinweis: Auf dieser Seite liegen Links zu anderen Seiten im Internet. Für alle diese Links gilt: Wir betonen ausdrücklich, daß wir keinerlei Einfluß auf die Gestaltung und die Inhalte der gelinkten Seiten haben. Deshalb distanzieren wir uns hiermit ausdrücklich von allen Inhalten aller gelinkten Seiten auf dieser Homepage und machen uns ihre Inhalte nicht zueigen. Diese Erklärung gilt für alle auf unserer Homepage angebrachten Links

Redaktion/Betreiber von JSP-Develop übernehmen keinerlei Gewährleistung und Verantwortung für die Richtig- und/oder Vollständigkeit von den auf den Webseiten JSP-Develop veröffentlichten Source Codes. Die Verantwortung der Verwendung/Anwendung sowie etwaige Modifikation der hier veröffentlichten Sourcen obliegt einzig dem Benutzer der Webseite, welche die veröffentlichten Sourcen in einer Applikation/Anwendung einsetzt. Durch das Kopieren und/oder Benutzen der Sourcen in einer Applikation/Anwendung bzw. etwaigen Abschriften wird dieser Rechtshinweis anerkannt.

Java, JSP, JavaServer Pages, J2EE, EJB, JDBC, JNDI, JTA, Sun, Sun Microsystems are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and in other countries. IBM, WebSphere are trademarks or registered trademarks of International Business Machines Corporation. Other trademarks and registered trademarks are the property of their respective owners.