在jsf中从一个视图渲染到另一个视图

时间:2012-06-18 16:36:31

标签: jsf jsf-2 richfaces ajax4jsf

我有这个:

包含

的父视图
  • firstView
  • secondView

firstView有一个

<rich:panel id="toRender">

,第二个有

<a4j:ajax render="toRender">

如何从第一个View中的第二个View面板渲染?

1 个答案:

答案 0 :(得分:3)

找出它的真实客户端ID,在其前面添加:,使其成为绝对客户端ID,然后再使用它。

对于那些没有记住如何生成客户端ID以及所有JSF NamingContainer是什么的初学者来说,找到真实客户端ID的最简单方法是在浏览器中打开页面并执行查看源并找到由感兴趣的JSF组件生成的HTML元素,并获取其id属性的值。

可能看起来像这样

<someHtmlElement id="someId:otherId:lastId">

在这种情况下,您需要使用

<a4j:ajax render=":someId:otherId:lastId">

如果其中一个父JSF NamingContainer组件(例如<h:form>)尚未分配固定id,那么您最终会生成自动生成的j_idt123或在客户端ID中,您需要为JSF NamingContainer组件提供固定ID。