Übergabe von resultset an Struts-JSP!

Hallo,
ich versuche die Strutswelt zu erforschen und habe folgendes Problem:
Mein Actionservlet fragt die Datenbank wie folgt ab:
ResultSet rs = stmt.executeQuery(„SELECT * from person“);

Witzigerweise habe ich keine Ahnung, wie ich nun mein rs an mein
JSP zur Darstellung weitergeben kann! Sämtliche Tutorials etc.
konnten mir nicht bei meinem Problem helfen. Wer kann mir in einfach sagen, wie das geht! Muss doch nicht schwer sein! :frowning:

Danke.

Hi.

Am einfachsten ist es wohl das ResultSet in der Action (perform)
in den Request zu schreiben. Etwa so:

req.setAttribute("myResultSet", rs);

In der JSP solltest du dann Zugriff haben:

 ResultSet anwesend.

Oder auch:

Gruss
Patrick

Iteration mit
Hallo Patrick,
ich danke Dir! Das klappt prima.
We kann ich jedoch mit in mein
resultset iterieren? Wie soll ich die Attribute
id="…" und indexId="…" um auf meine Elemente zugreifen
zu können?
Danke

Hi Fabian.

Du solltest dir ein Formbean basteln und das ResultSet
darin kapseln, da du in der Form nicht direkt auf die
Werte zugreifen kannst (so zumindest mein Erfahrungsstand).
erwartet eine einfache get-Methode. Um aber
die Werte aus dem ResultSet zu bekommen, musst du ja noch
einen Parameter mitgeben z.B. ResultSet.getInt(int). Das geht
in der Form nicht.
Beispiel FormBean:

public class GiveMeANameBean {
 private int m\_intValue;
 private String m\_strValue;

 public void setIntValue(int value) {
 m\_intValue = value;
 }
 public int getIntValue() {
 return m\_intValue;
 }
 public void setStringValue(String value) {
 m\_strValue = value;
 }
 public String getStringValue() {
 return m\_strValue;
}

In deiner Action bastelst du dir die Collection zusammen:

...
Collection colFormBeans = new Vector();
while (rs.next ()) {
 // neues FormBean
 GiveMeANameBean gb = new GiveMeANameBean();
 gb.setIntValue(rs.getInt(1));
 gb.setStringValue(rs.getString(2));
 // das FormBean in die Collection
 colFormBeans.add(gb); 
}
// ab mit der Collection in den request
req.setAttribute("colFormBeans", colFormBeans);
...

Und in der JSP hast du dann wie gewohnt Zugriff auf die Collection.
(id ist nur ein Platzhalter, ueber den du dann das naechste Element ansprechen
kannst; indexId ist so eine Art counter. Schau dir dazu auch mal die kompilierte
JSP im work-Verzeichnis deines Tomcat an, suche nach /* ---- logic:iterate ---- */.)

Gruss
Patrick

http://jakarta.apache.org/struts/userGuide/struts-lo…