如何重新渲染位于 c:foreach 循环内的 a4j:outputpanel

发布于 2024-10-13 11:45:54 字数 129 浏览 2 评论 0原文

如何重新渲染 c:foreach 循环内的 a4j:output 面板?因为 c:foreach 中的 a4j:outputpanel 的 id 是动态生成的。如果我使用静态 id 重新渲染,则仅重新渲染第一个。如何我可以实现这个吗?请帮助我。

How to re render the a4j:output panelwhich is inside the c:foreach loop?Because the id of the a4j:outputpanel which is in c:foreach is dynamically generated.If i rerender using the static id its rerender only the first one.How can i achieve this?Please help me.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

回忆追雨的时光 2024-10-20 11:45:54

使用 c:foreach 循环不会将 JSF 组件添加到具有唯一 ID 的 JSF 视图树中。因此,您无法提供要重新渲染的组件的 ID。

如果您想重新渲染动态创建的 a4j:outputPanel 组件,更好的方法是通过 Java 代码构建 a4j:outputPanel。

您还可以尝试重新渲染外部 a4j:outputPanel :

<a4j:outputPanel id="outer-wrapper">
     <c:foreach>
         <a4j:outputPanel>

         </a4j:outputPanel>
     </c:foreach>
</a4j:outputPanel>

Using c:foreach loop does not add the JSF components into the JSF view tree with unique ID's. Therefore you cannot provide IDs of the components to re-render.

If you want to re-render dynamically created a4j:outputPanel components, better way would be by building the a4j:outputPanels through Java code.

You can also try to re-render the outer a4j:outputPanel :

<a4j:outputPanel id="outer-wrapper">
     <c:foreach>
         <a4j:outputPanel>

         </a4j:outputPanel>
     </c:foreach>
</a4j:outputPanel>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文