【问题标题】:h:dataTable inside ui:repeat, how specify render id from f:ajax?h:dataTable 在 ui:repeat 中,如何从 f:ajax 指定渲染 ID?
【发布时间】:2011-10-14 06:23:13
【问题描述】:

我有:

<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>

使用&lt;f:ajax&gt; 我无法用给定的ID 渲染h:dataTable,有人能解释一下这段代码有什么问题吗?当我通过 FireBug &lt;table id="usersAssignedToProject"&gt; 检查时,但在客户端打印了 #{project.id}(在数据表之前和内部)。

【问题讨论】:

    标签: java jsf-2


    【解决方案1】:

    这是因为在构建组件树时解析了 h:dataTable 的 id,但 var project 仅在渲染响应时可用。 在这种情况下尝试使用c:forEach 而不是ui:repeat。

    更多信息: https://rogerkeays.com/jsf-c-foreach-vs-ui-repeat

    【讨论】:

      猜你喜欢
      • 2011-04-02
      • 2011-09-29
      • 1970-01-01
      • 1970-01-01
      • 2013-04-27
      • 2011-08-22
      • 2012-10-30
      • 1970-01-01
      相关资源
      最近更新 更多