logic:iterate über ArrayList, die ArrayLists beinhaltet

Java:
sbCol col = (sbCol) innereListe.get(0);
System.out.println(col.getCol());

Vorher sbCol in die JSP importieren.
 
Suuuuuuuuuuuuuuuuper! Klappt!! :) :) :) Vielen herzlichen Dank erst einmal für Deine tolle Hilfe - da wäre ich insgesamt nicht drauf gekommen!

Jetzt möchte/muss ich den Kram noch so hingekommen, dass es mit logic:iterate und funktioniert. Reicht da vielleicht schon ein import meiner Beans aus?
 
Hmm, habe folgende Imports:
Code:
<%@ page import="app.sbRow"%>
<%@ page import="app.sbCol"%>

und folgende Schleife:
Code:
<logic:iterate name="surveyBody" id="Row" property="row">
	<logic:iterate name="Row" id="Col">
		<td align="right"><font size="1"/>
		<bean:write name="col"/></td>
	</logic:iterate>
</logic:iterate>

Catalina:
Code:
20.12.2007 23:32:39 org.apache.struts.taglib.tiles.InsertTag$InsertHandler doEndTag
SCHWERWIEGEND: ServletException in '/tiles/surveyBodyRight.jsp': No getter method for property: "row" of bean: "surveyBody"
org.apache.jasper.JasperException: Exception in JSP: /tiles/surveyBodyRight.jsp:39

36: 		<bean:write name="Row" property="dOM"/></td>
37: </logic:iterate>
38: <tr>
39: <logic:iterate name="surveyBody" id="Row" property="row">
40: 	<logic:iterate name="Row" id="Col">
41: 		<td align="right"><font size="1"/>
42: 		<bean:write name="col"/></td>


Stacktrace:
 
Versuch mal so:
Java:
<logic:iterate name="surveyBody" id="Body">
   <bean:define name="Body" id="Row" property="row" />	
   <logic:iterate name="Row" id="Col">
       <bean:write name="Col" property="col"/></td>
   </logic:iterate>
</logic:iterate>

In Struts bin ich auch noch nicht so fit.
 
Pff, von wegen "nicht fit" in Struts...

Es hat geklaaaaaaaaaaaaaaaaaaaaapt 1000x :) Damit hast Du mir ein ganz tolles und wichtiges Vor-Weihnachtsgeschenk (für meine Diplomarbeit) gemacht. Ich hoffe, ich kann mich eines Tages revanchieren und Dir Deine dafür aufgebrachte Zeit zurückschenken ;)

Aber zur Lösung: wenn man versiert ist, hätte man das vorher sehen müssen, dass man die Beans importieren und innerhalb der Schleife noch einmal eine Bean definieren muss? Bzw. gerade habe ich noch einmal ohne Import der Beans getestet und es geht noch immer...
 
Ich arbeite mit JSP-Scriplets und da muss man die Beans importieren.
Wenn es mit Struts auch ohne import geht, dann wusste ich das nicht.
Danke für den Tipp ;).

Schön, dass ich helfen konnte.
 
Mist ;-( Habe mich leider etwas zu früh gefreut.

Nachdem ich die ArrayLists mit sinnvollen Daten gefüllt habe stelle ich nun fest, dass mir Deine Lösung in Abhängigkeit von der äußeren Schleife (Row) die Spalten (Col) multipliziert. D. h. die Spalten werden z. B. beim Wert 3 für die Rows in dreifacher Anzahl hintereinander ausgegeben und dann auch noch 3 mal das selbe untereinander in den Rows. Ich bekomme also ein und dieselbe Ergebnismenge 3x3 ausgegeben.

Könnte das an der innerhalb der äußeren Schleife definierten Page-Bean liegen? Ich habe schon versucht diese nach "ganz draußen" zu verlagern, dann erhalte ich jedoch wieder die alten Probleme. :-(

Meine Erfahrungen sind bislang, dass man an die Rows nur herankommt, wenn man zunächst per logic:iterate die Schleife "anfängt". Tut man dies nicht, so bekommt man wieder die alten Fehlermeldungen präsentiert. Hättest Du evtl. noch 'ne Idee so kurz vorm Christkind? ;-)
 
Update: Andron, DEIN Code war _natürlich_ korrekt - ich war nur zu doof, die Beans mit den richtigen Daten zu füllen (zumind. ist es im Moment das, was ich vermute ;-)). Also mach' Dir erstmal weiter keine Gedanken :)
 

Neue Beiträge

Zurück