c:forEach项目未从辅助bean更新

时间:2015-07-14 10:52:17

标签: jsf jsf-2 foreach jstl

我无法通过支持bean更新<c:forEach>中的列表。 我正在使用PrimeFaces 5.0和JSF 2.0。

这是我简化的JSF代码:

<c:forEach var="i" items="#{dataset.columnsList}"  varStatus="status">
    <h:outputText value="#{dataset.columnsList.size()}"/>
    <c:if test="${status.last}">
        <h:outputText escape="false" value="#{status.count}" />
    </c:if>

</c:forEach>

代码第一次运行良好。 但是当dataset.columnList更改字段时,dataset.columnList.size()会相应地更改并且是正确的。相反,status.count仍然是旧的价值。

这个事实似乎仅限于<c:forEach>

有人可以帮助我吗?

非常感谢。

1 个答案:

答案 0 :(得分:0)

更改dataset.columnList时,请确保刷新页面。您可以通过使用按钮进行页面提交来执行此操作,或使用ajax仅部分提交页面(<f:ajax>)。还要知道使用c标记已过时,您可以完全使用<ui:repeat>代替<c:forEach>