java - 为每个 <rich :dataTable/> row? 分配一个唯一的客户端 ID

标签 java jsf seam richfaces

我对 Seam 中的 UI 工作还比较陌生,所以我希望有一些简单的东西可以替换 UNIQUE_ID 的三个实例。在下面的示例中。

目标是拥有 <rich:dataTable />其中每一行都可以显示/隐藏 <rich:modalPanel />有关特定对象实例的更多详细信息。

<rich:dataTable var="object" value="#{bean.myObject}">
  <rich:column>
    <h:outputText value="#{object.summary}" />
  </rich:column>

  <rich:column>
    <a onclick="Richfaces.showModalPanel('UNIQUE_ID');" href="#">Show Details in ModalPanel</a>
    <a4j:form>
      <rich:modalPanel id="UNIQUE_ID" >
        <a onclick="Richfaces.hideModalPanel('UNIQUE_ID');" href="#">Hide This ModalPanel</a>
        <h:outputText value="#{object.details}" />
      </rich:modalPanel>
    </a4j:form>
  </rich:column>
</rich:dataTable>

如果我只有一对 link/modalPanel,这显然是微不足道的,但我不知道在 <rich:dataTable /> 的范围内该怎么做的迭代。另外,为了防止事情进一步复杂化,该页面还将包含许多 <rich:dataTable />的,每个都实现此行为。

最佳答案

看看 <rich:componentControl /> 标签。

使用attachTo“绑定(bind)”事件以显示您希望使用for属性弹出的modalPanel。

例如:

<h:outputLink id="modalPanelLink" value="#">Show Details
    <rich:componentControl attachTo="modalPanelLink" for="modalPanelId" event="onclick" operation="show" />
</h:outputLink>

关于java - 为每个 <rich :dataTable/> row? 分配一个唯一的客户端 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2866757/

相关文章:

jsf - 如何在 Spring-MVC 和 JSF 混合 Web 应用程序中设置 JSF 欢迎文件

jsf - 浏览器后退按钮导航

jsf - 在页面之间发送参数的最佳方式是什么?

jsf - 在 Seam 测试中手动调用 JSF 验证

java - 基于Token的rememberMe的Seam IdentityStore NullpointerException

java - 在Java中打印二维码

java - 在 TextView 中淡入淡出时滑入

jsf - 如何将选定的值作为参数传递给a4j :support

java - 如何将 JRE 从 1.8.0.241 更改为最新的 13

java - 如何使用 Streams 添加嵌套集合中的值