我已经阅读了许多答案和页面,但我似乎找不到类似于我自己的情况(我猜那时候,我的错误只是一个骨头问题)。
我只是想打印出一个项目列表。 c:forEach有效...但是ui:repeat没有(也没有我的primefaces datagrids / tables)。
<html xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core">
<ui:composition template="/templates/pageLayout.xhtml">
<ui:define name="windowTitle">Manage my Worklists</ui:define>
<ui:define name="pageContent">
<h:outputStylesheet library="css" name="puradmin-style.css" />
<h:form id="manage-worklist" prependId="false">
<br/>
<c:forEach items="#{manageWorklistBean.givenAccessList}" var="friend">
<h:outputText value="* #{friend.receivingUser.name}" />
<br/>
</c:forEach>
<br/>
<ui:repeat value="#{manageWorklistBean.givenAccessList}" var="friend">
<h:outputText value="* #{friend.receivingUser.name}" />
<br/>
</ui:repeat>
</h:form>
</ui:define>
</ui:composition>
</html>
这是我的输出:
*朋友一
*朋友二
*朋友三
*
*
*
有没有人有任何见解?
答案 0 :(得分:1)
给定三个空的*
行,迭代因此完美无缺,但由var
属性表示的每个项目由于某种原因无法解析。可能的原因之一是在视图呈现期间EL范围中的var
属性中存在命名冲突,很可能是由于在同一视图中使用另一个JSF迭代组件也导致使用相同的var
属性名称。给它一个不同的,唯一的名称应该解决问题,正如问题的评论中所证实的那样。