Внутри вложенного foreach доступ к одной и той же переменной возвращает разные значения. Это происходит, когда страница перезагружается, а не при первой загрузке.Проблема JSF JSTL с вложенным forEach
<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>
После перезагрузки страницы, transitionItem.Name возвращает правильное значение для 3 и 4, а также различные значения для 1 и 2. Может быть, проблема интеграции JSF-JSTL?
Как правило, вложенная Foreach петли в JSP/JSF говорит мне, что контроллер или полученный объект не тянет достаточно веса своего собственного - вы можете рассмотреть вопрос рефакторинга так нужен только один цикл по каждому элементу , – MetroidFan2002
Это действительно рабочее решение. (Только заметил ваш комментарий прямо сейчас, все еще привыкший к сайту!) – noup