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

Dan*_*jel 3 jsf primefaces

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

render="#{BackingBean.doRender}"
Run Code Online (Sandbox Code Playgroud)

doRender设置为true在"更新"发送之前.

这是正确的方法吗?

我正在使用PrimeFaces,并且在此期间update即使doRender设置为true 之后也没有显示一个组件.

Bal*_*usC 14

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

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

例如

<h:panelGroup id="foo">
    <h:someComponent rendered="#{bean.rendered}" />
</h:panelGroup>
Run Code Online (Sandbox Code Playgroud)

<p:commandButton ... update="foo" />
Run Code Online (Sandbox Code Playgroud)