我有:
<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>
我无法呈现 h:dataTable
使用给定的 ID,有人可以向我解释这段代码有什么问题吗?当我用 FireBug 检查时 <table id="usersAssignedToProject">
, 但在客户端 #{project.id}
被打印(在数据表之前和内部)。
最佳答案
这是因为 h:dataTable 的 id 在构建组件树时被解析,但是 var project
仅在渲染响应时可用。
在这种情况下尝试使用 c:forEach
而不是 ui:repeat
。
关于java - h :dataTable inside ui:repeat, 如何从 f :ajax? 指定渲染 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6844899/