gpt4 book ai didi

java - 嵌套 forEach 的 JSF JSTL 问题

转载 作者:行者123 更新时间:2023-11-29 08:20:04 24 4
gpt4 key购买 nike

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

最佳答案

我看到您正在使用 Facelets。

也许您可以尝试更换您的 <c:forEach>通过 <ui:repeat> ...

代码将变为:

<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">

(...)

<ui:repeat value="#{controller.availableTransitions}" var="transition">
<ui:repeat value="#{transition.availableTransitions}" var="transitionItem">
<h:outputText value="1_#{transitionItem.name} 2_#{transitionItem.name}" />
3_#{transitionItem.name} 4_#{transitionItem.name}
</ui:repeat>
</ui:repeat>
</ui:composition>

关于java - 嵌套 forEach 的 JSF JSTL 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/619097/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com