我可以将Ajax“update”命令发送给由于之前设置为false的render选项而未呈现的JSF组件:
render="#{BackingBean.doRender}"
在发送“更新”之前, doRender设置为true
。
这是正确的方法吗?
我正在使用PrimeFaces,在此期间update
偶数doRender
设置为true后,一个组件无法显示。
答案 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" />