在“render”为假之后,Ajax“更新”了吗?

时间:2012-05-21 15:03:40

标签: jsf primefaces

我可以将Ajax“update”命令发送给由于之前设置为false的render选项而未呈现的JSF组件:

render="#{BackingBean.doRender}"
在发送“更新”之前,

doRender设置为true

这是正确的方法吗?

我正在使用PrimeFaces,在此期间update偶数doRender设置为true后,一个组件无法显示。

1 个答案:

答案 0 :(得分:14)

ajax更新由JavaScript与JSF生成的HTML DOM树一起工作(当webbrowser检索到时)。如果没有呈现JSF组件,那么它根本不会出现在HTML DOM树中,因此JavaScript无法找到任何要更新的内容。

您需要更新父组件,始终呈现。

E.g。

<h:panelGroup id="foo">
    <h:someComponent rendered="#{bean.rendered}" />
</h:panelGroup>

<p:commandButton ... update="foo" />