tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
733
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    glhlg glhlg ist offline Mitglied Bronze
    Registriert seit
    Aug 2009
    Beiträge
    39
    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
     

  2. #2
    glhlg glhlg ist offline Mitglied Bronze
    Registriert seit
    Aug 2009
    Beiträge
    39
    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
     

  3. #3
    pizza1234 pizza1234 ist offline Mitglied Gold
    Registriert seit
    Jan 2007
    Beiträge
    177
    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
     

  4. #4
    glhlg glhlg ist offline Mitglied Bronze
    Registriert seit
    Aug 2009
    Beiträge
    39
    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
     

  5. #5
    pizza1234 pizza1234 ist offline Mitglied Gold
    Registriert seit
    Jan 2007
    Beiträge
    177
    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
     

  6. #6
    glhlg glhlg ist offline Mitglied Bronze
    Registriert seit
    Aug 2009
    Beiträge
    39
    Da ich dieses Gemixe auch bescheiden finde, habe ich mich für die Scriptlet-freie Variante entschieden.
    Danke für deine Hilfe!
     

Ähnliche Themen

  1. Taglib c:forEach - Parameterarray für Schleife verwenden
    Von glhlg im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 5
    Letzter Beitrag: 16.06.10, 10:35
  2. Antworten: 8
    Letzter Beitrag: 28.06.09, 16:44
  3. Array variable in foreach Funktion
    Von rflx im Forum PHP
    Antworten: 5
    Letzter Beitrag: 05.11.07, 13:01
  4. [vb.net] Variable aus URL lesen
    Von lordraiddom im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 20.09.06, 23:23
  5. variable aus xml lesen
    Von ali-gator im Forum Flash Plattform
    Antworten: 3
    Letzter Beitrag: 15.11.05, 14:29