À l'intérieur d'un foreach imbriqué, l'accès à la même variable renvoie des valeurs différentes. Cela se produit lorsque la page est rechargée, pas au premier chargement.JSF JSTL problème avec forEach imbriqué
<ui:composition
xmlns="http://www.w3.org/1999/xhtml"
(...)
xmlns:c="http://java.sun.com/jstl/core"
xmlns:h="http://java.sun.com/jsf/html">
(...)
<c:forEach items="#{controller.availableTransitions}" var="transition">
<c:forEach items="#{transition.availableTransitions}" var="transitionItem">
<h:outputText value="1_#{transitionItem.name} 2_#{transitionItem.name}" />
3_#{transitionItem.name} 4_#{transitionItem.name}
</c:forEach>
</c:forEach>
</ui:composition>
Après rechargement de la page, transitionItem.Name renvoie la valeur correcte pour 3 et 4, et des valeurs différentes pour 1 et 2. Peut-être un problème d'intégration JSF-JSTL?
En général, imbriquées forEach boucles dans un Jsp/JSF me dit que le contrôleur ou l'objet résultant ne tire pas assez de poids de son propre - vous pouvez envisager refactorisation donc qu'une seule boucle foreach est nécessaire . – MetroidFan2002
C'est en effet une solution de travail. (Seulement remarqué votre commentaire en ce moment, toujours en train de s'habituer au site Web!) – noup