3

以前にfalseに設定されたレンダリングオプションのためにレンダリングされていないJSFコンポーネントにAjax「更新」コマンドを送信できますか?

render="#{BackingBean.doRender}"

doRenderはtrue、「update」が送信される直前に設定されます。

これは正しい方法ですか?

PrimeFacesを使用していますが、その間にtrueに設定してupdateも、1つのコンポーネントが表示されません。doRender

4

1 に答える 1

14

ajaxの更新は、JavaScriptによってJSFで生成されたHTML DOMツリーで機能します(Webブラウザーが取得したとおり)。JSFコンポーネントがレンダリングされていない場合、そのコンポーネントはHTML DOMツリーにまったく表示されないため、JavaScriptは更新するものを見つけることができません。

代わりに、常にレンダリングされる親コンポーネントを更新する必要があります。

例えば

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

<p:commandButton ... update="foo" />
于 2012-05-21T15:12:20.970 に答える