リスト項目とp:commandLink
内部のメニューがあります。p:dataTable
これをさまざまなページに使用しているときに、フォームとp:columns
内部でフォームを更新する際に問題があることに気付きました。リンクをクリックすると、form2
実際にはいくつかのパネルがあり、内部のテーブルが更新されます。今私の問題:ほとんどのコンテンツ のみform2
が正しく更新されp:columns
ますが、古い値があります。リンクをもう一度クリックすると、正しい値が表示されます。
Bean メソッドpublic void selectProject(Project myProject)
が正しく呼び出され、値が正しく処理されます。
ここで奇妙なことに、 a を a に追加するh:graphicImage
と、p:ajax
すべて正常に動作します!!
<h:form id="form1">
...
<li>
<p:commandLink update=":form2" actionListener="#{bean.selectProject(p)}">
<h:outputText value="#{p.name}" />
</p:commandLink>
<!-- Code below is for testing only, but works fine! -->
<h:graphicImage value="#{iconBean.icon(12,'clock')}">
<p:ajax event="click" update=":form2" listener="#{bean.selectProject(p)}"/>
</h:graphicImage>
</li>
...
</h:form>
更新これは とは関係がないようです。p:columns
簡略化されたテスト ケースは の予想される動作を示していますp:commandLink
。元の (まだ失敗している) 設定では、メニューは複合コンポーネントとして実装されています。