PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Da will man mal schlau sein....JSP + Beans



michael.becker
14-12-2006, 09:24
Hallo,

wollte euch mal fragen ob ich da vieleicht etwas übersehe(und wenn ja mir ne menge arbeit ersparen könnte).

Problem:
Ich habe eine JSP Seite, die 4 x 11 Textfelder hat.
Die namensgebung ist Relativ einfach
Reihe 1 dreh_hoch_0 .. dreh_hoch_10
Reihe 2 zahl_hoch_0 .. zahl_hoch_10
Reihe 3 dreh_aus_0 .. dreh_aus_10
Reihe 4 mom_aus_0 .. mom_aus_10

Mit einer einfachen for-Schleife schnell gemacht.


<%
for(int i=0;i<11;i++){%>
<input type="text" name="dreh_hoch_<%=i%>">
<%}%>



Wären da nicht die Beans.
für diese Werte gibt es ein Bean, dessen Inhalt, bei existens in die Felder als Value erscheinen soll.
Das Bean kann ich mit


ValueBean.getDreh_hoch_0() .. ValueBean.getDreh_hoch_10() ansprechen. Doch wie nutze ich diesen Umstand in der FOR-Schleife?
Wie sage ich ihm, das er die getDreh_hoch_i() nutzen soll, wobei "i" eigentlich für den Wert des Schleifen Iterators steht?

Ich wies, das wenn ich im Bean ein Array hätte, das kein Problem wäre. Aber dann ist der einfach Umgang mit Beans und die Automatische erstellung hinüber.
Weil in der Applikation gibt es sehr viele Beans und Sonderfälle sind da nicht einzubauen. Daher dann eher den komplizierten Weg beim befüllen, nicht im Umgang.

Naja, das "Problem" liegt ja eher im UI..wollte mir da halt arbeit sparen und den Quellcode übersichtlicher machen, als da jetzt 44x die selbe Zeile zu schreiben, nur um den Namen immer zu iterieren.

Vielen dank schonmal

Michael

Waxolunist
14-12-2006, 13:18
Versuchs mal mit Reflection. Da gibts ein paar schöne Klassen.



Class[] parameterTypes = new Class[] {};
Object[] arguments = new Object[] {};
Method m = o.getClass().getMethod("methodname", parameterTypes);
Object returnValue = m.invoke(report, arguments);

String result = returnValue.getString();


Ungefähr so sollte das aussehen, dann setzt du dir einfach deinen Methodennamen zusammen.

michael.becker
14-12-2006, 14:10
Ahhh....vielen dank...habe es zwar noch nicht ganz umsetzen können, denke aber das ist genau das was ich suche...

ich danke dir vielmals

michael