間違ったコードは次のとおりです。
<h:form id="search_form">
<h:commandButton class="button" value="View" action="#{InfoBean.search}">
<f:ajax execute="search_form" render="linear1"></f:ajax>
<f:ajax execute="search_form" render="linear2"></f:ajax>
</h:commandButton>
<p:lineChart id="linear1" value="#{InfoBean.linearModel1}" legendPosition="e"/>
<p:lineChart id="linear2" value="#{InfoBean.linearModel2}" legendPosition="e"/>
</h:form>
commandButton
をクリックしたときに、これら2つのチャートを更新したいです。しかし、今では2つの<ajax>
タグ。2番目のタグは機能しません。
では、どのようにajaxを使用して2つのグラフをレンダリングできますか?
単一のf:ajax
で複数のコンポーネントをレンダリングできます。更新する個々のコンポーネントがすべてid
を持っていることを確認してください。サンプルでは次のようになります。
<f:ajax execute="search_form" render="linear1 linear2"/>
IDはlinear1 linear2
のような空白だけで区切る必要があり、linear1, linear2
のようにコンマで区切る必要はありません(p:ajax
でのみ機能します)。
以下も参照してください:
A4j jsfには「、」を使用します:<a4j:support event="onchange" reRender="parent,child1,child2" />