我目前正在与 JSF 进行一些斗争。我想显示一个项目列表。每个项目可以显示 2 个 facelets(如果项目可编辑,则一个,否则一个)。
代码片段:
<div>
<c:forEach items="#{bean.itemList}" var="item">
<c:choose>
<c:when test="#{bean.isEditable(item.id)}">
<ui:include src="#{item.editableFaceletPath}>
<ui:param name="item" value="#{item}" />
</ui:include>
</c:when>
<c:otherwise>
<ui:include src="#{item.normalFaceletPath}>
<ui:param name="item" value="#{item}" />
</ui:include>
</c:otherwise>
</c:choose>
</c:forEach>
</div>
只要我不将项目设置为可编辑,这就可以正常工作。但是,如果我有 3 个项目:item1、item2 和 item3,并且我将 item1 设置为可编辑,我将显示 item2、item2、item3。
我理解为什么它不起作用,但我完全不知道如何以其他方式实现它。有人知道怎么做吗?