Comment accéder à la variable d'itération dans c:forEach avec un scriptlet/expression?
var est un attribut static pour exposer l'élément courant (local pour le corps)
Comment l'accès à l'attribut var par le biais de scriptlet/expression?
Code d'initialisation
<%
Employee e = new Employee();
e.setName("name");
e.setEmail("[email protected]");
java.util.List<Employee> empList = new java.util.ArrayList();
empList.add(e);
request.setAttribute("empList", empList); %>
forEach code 1 deferredExpression Erreur
<c:forEach var="emp" items="${employees}">
<c:out value="${emp.name}"/><br><%=emp.getName()%>
</c:forEach>
NI
code forEach 2 deferredExpression Erreur
<c:forEach var="emp" items="${empList}" varStatus="status">
Emp email: <%= ((Employee)(pageContext.findAttribute("emp"))).getName() %>
</c:forEach>
OriginalL'auteur Joe | 2013-10-22
Vous devez vous connecter pour publier un commentaire.
J'avais java.lang.NoSuchFieldError: deferredExpression chaque fois que je change car j'ai eu différentes versions de la JSTL bibliothèques, et maintenant je n'en laisser un jstl-1.2.jar plus d'infos sur la JSTL.
La JSTL documentation la documentation dit clairement "Nom de l'exportation d'étendue variable de l'élément actif de l'itération. Cette étendue variable a imbriquées visibilité." et imbriquées moyen de la balise de début jusqu'à la fin de la balise .
EL code
Alternative JSP script
Un autre c:forEach exemple avec une collection
OriginalL'auteur Joe
- Je utiliser générales suivantes extrait de:
Votre cas avec EL:
Votre cas avec scriptlet:
OriginalL'auteur Pawel
OriginalL'auteur Alex