我有这个:
包含的父视图
- 第一视图
- 第二视图
第一个视图有一个
<rich:panel id="toRender">
第二个有一个
<a4j:ajax render="toRender">
如何从 firstView 的 secondView 渲染面板?
找出它的真实客户端 ID,为其添加前缀:
以使其成为绝对客户端 ID,然后使用它来代替。
对于尚未记住客户端 ID 是如何生成的以及所有 JSFNamingContainer
是什么的初学者来说,找出真实客户端 ID 的最简单方法是在浏览器中打开页面并查看源代码并找到生成的 HTML 元素感兴趣的 JSF 组件并获取其id
属性的值。
它可能看起来像这样
<someHtmlElement id="someId:otherId:lastId">
在这种情况下,您需要使用
<a4j:ajax render=":someId:otherId:lastId">
如果其中一个父 JSFNamingContainer
组件(如<h:form>
)还没有固定id
分配,因此您最终j_idt123
会在客户端 ID 中自动生成或其他内容,那么您需要为 JSFNamingContainer
组件提供一个固定 ID。