我有:
<ui:repeat id="projectsTable" var="project" value="#{projectsBacking.projectList}">
#{project.id}
<h:dataTable id="usersAssignedToProject#{project.id}" var="appUser" value="#{projectsBacking.getAllUsersAssignedToProject(project)}">
#{project.id}
<h:column>
<h:outputText value="#{appUser.getUsername()}"/>
</h:column>
</h:dataTable>
</ui:repeat>
使用<f:ajax>
我无法使用给定的ID呈现h:dataTable
,有人可以解释一下此代码中的错误吗?当我通过FireBug <table id="usersAssignedToProject">
检查时,但是在客户端#{project.id}
被打印(在数据表之前和之内)。
答案 0 :(得分:3)
由于h的id:在构建组件树时解析了dataTable,但var project
仅在渲染响应时可用。
在这种情况下,请尝试使用c:forEach
而不是ui:repeat
。
有关此内容的更多信息: http://www.ninthavenue.com.au/blog/c:foreach-vs-ui:repeat-in-facelets