ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
733
733
EMPFEHLEN
-
Guten Morgen,
ich habe eine forEach-Schleife, die wie folgt aussieht:
Code :1 2 3
<c:forEach items="${allservices[1]}" var="curString"> <th nowrap="nowrap">${curString}</th> </c:forEach>
Das [1] ist, weil ich nur den zweiten Eintrag der Liste auswerten möchte.
Nun lese ich ja das Attribut allservices aus.
Diesen String möchte ich aber nicht hart in das forEach schreiben, sondern aus einer Konstante auslesen, damit ich nicht an mehreren Stellen diese Magic-Strings habe.
Folgendes funktioniert leider nicht:
Code :1 2 3
<c:forEach items="${${Konstanten.ALL_SERVICES}[1]}" var="curString"> <th nowrap="nowrap">${curString}</th> </c:forEach>
Wie kann ich den Attributsnamen auslesen, so dass ich diesen nicht hart in den Taglib-Aufruf schreiben muss?
Vielen Dank schon mal für eure Hilfe!
Gruß
Gerrit
-
Ich habe mir nun erst mal wie folgt geholfen:
Code :1 2 3 4 5 6 7 8
<% List<String[]> daten = (List<String[]>) request.getAttribute(WebConstants.ATTR_PLANER_SERVICE_UEBERSICHT_ALLESERVICES); String[] types = daten.get(0); String[] head = daten.get(1); request.setAttribute("LOCAL_ATTR_HEADER", head); request.setAttribute("LOCAL_ATTR_TYPES", types); request.setAttribute("LOCAL_ATTR_DATEN", daten); %>
Und kann dann im Taglib auf die Attribute, wie LOCAL_ATTR_HEADER zugreifen.
Schöner wäre es, wenn ich die Konstante WebConstants.ATTR_PLANER_SERVICE_UEBERSICHT_ALLESERVICES verwenden könnte.
Gruß
Gerrit
-
Hi,
und nun hast du Scriptlet-Code und JSTL in deiner JSP, welche damit noch weniger zu warten ist! Was ist denn an deiner ersten Variante so schlecht? Konstanten kannst du in der JSTL nicht verwenden, außer du benutzt die Unstandard-Tag Bibliohek..
Grüße
Peter
-
Hallo,
ich möchte gerne den String , unter dem das Attribut im Request abgelegt ist, nur an einer Stelle pflegen.
Wenn ich nun "allservices" in dem Taglib verwende, dann müsste ich eine Änderung dieses Strings an zwei Stellen durchführen. Hm ...
Gruß
Gerrit
-
Hi,
ich verstehe dich schon, aber du mußt dich an dieser Stelle entscheiden, ob du mit Scriptlet arbeitest, dann kannst du den Requestparameter in einer Konstante ablegen oder du arbeitest mit JSTL, dann mußt du die Parameternamen in den Taglibs als String schreiben. Ich würde grundsätzlich nie mehr mit Scriptlets arbeiten, außerdem kommt es doch so gut wie nie vor, das du deinen Parameternamen änderst. Scriptlets und JSTL zu mischen, ist für jeden Entwickler bzw. Webdesigner, der damit arbeiten soll, eine absolute Zumutung.
Grüße
Peter
-
Da ich dieses Gemixe auch bescheiden finde, habe ich mich für die Scriptlet-freie Variante entschieden.
Danke für deine Hilfe!
Ähnliche Themen
-
Taglib c:forEach - Parameterarray für Schleife verwenden
Von glhlg im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 5Letzter Beitrag: 16.06.10, 10:35 -
Variable wird in foreach Schleife nicht übergeben
Von Registrierer im Forum PHPAntworten: 8Letzter Beitrag: 28.06.09, 16:44 -
Array variable in foreach Funktion
Von rflx im Forum PHPAntworten: 5Letzter Beitrag: 05.11.07, 13:01 -
[vb.net] Variable aus URL lesen
Von lordraiddom im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 20.09.06, 23:23 -
variable aus xml lesen
Von ali-gator im Forum Flash PlattformAntworten: 3Letzter Beitrag: 15.11.05, 14:29





Zitieren
Login





