在嵌套的 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 集成问题?