Frage zu : JSTL & forEach & List<String>

KarlRannseier

Grünschnabel
Hallo Forum,
Ich setze mich gerade mit der JSTL auseinander, und versuche meine ersten gehversuche.
Jetzt hab ich folgendes Problem:
Aus einer EJB bekommen ich ein "List<String>" Objekt zurück, diese Liste will ich jetzt jer JSTL und dem forEach Tag ausgeben. aber aus irgend einem Grund kommt kein ergebnis raus. Das in der Liste was drinnen ist weiss ich, denn ich geben nochmal diese List über herkömmliches JSP aus. Und das die JSTL funktioniert weiss ich auch, da ich eine "Dummy forEach Schleife" eingebaut habe die auch geht.

Vieleicht sieht einer von euch den Fehler den ich mache.

Hier kommt mal der Code :

Code:
    ...
         
	<!-- Laden der Variable artikel -->
	<hr>
        <%
            List<String> artikel;
            System.out.println("-- artiekl erstellt");
            artikel = cart.getContents();
            System.out.println("-- artiekl geladen");
        %>
        
        <!-- Ausgabe PER JSP NORMAL -->
        <%
            int i;
            if (artikel != null) {
                for (i = 0; i < artikel.size(); i++) {
                %>
                <tr><td><%=artikel.get(i) %></td></tr>
                <%
                }
            }
        %>

        <!-- TEST DER JSTL -->
        <hr>
        <c:forEach var="i" begin="1" end="10" step="1">
            <c:out value="${i}" />
            <br />
        </c:forEach>
        
        <!-- AUSGABE PER JSTL -->
        <hr>
        <c:forEach var="a" items="${artikel}">
            <tr><td>
                    <c:out value="${a}" />
            </td></tr>
        </c:forEach>
        
...

Ich bin für jeden Rat dankbar

Vielen Dank

Gruß
Karl
 
Zuletzt bearbeitet:
Also ich habe das Problem jetzt auf folgendem Weg gelöst :

den Import habe ich um folgende Taglib erweitert :
Code:
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c-rt" %>

und die Fragwürdige stelle habe ich dann so umgeschrieben :
Code:
        <c-rt:forEach var="a" items="<%= artikel %>">
            <tr><td>
                    <c:out value="${a}" />
            </td></tr>
        </c-rt:forEach>

warum es jetzt geht kann ich mir nicht erklären.
Es wäre nett wenn mit jemand vielleicht den Unterschied zwischen "jstl/core" und "jstl/core-rt" erklären könnte.


Danke und Gruß
Karl
 

Neue Beiträge

Zurück