私のアプリケーションでは奇妙な動作が見つかりました。タブパネル内の非アクティブなタブのDatatableは値を初期化します
私たちは、複数のタブを持つrich:tabPanel switchType = "ajax"を持っています。各タブには、rich:dataTableとa4j:formの編集フォームが含まれています。
ページをリクエストすると、最初のタブがレンダリングされ、データテーブルが初期化されます。ここまでは順調ですね。 編集リンク(a4j:commandLink)をクリックすると、選択したエンティティの編集フォームが再レンダリングされ、フォームが適切に再レンダリングされます。
しかし、これに加えて、他のタブのデータテーブルからクエリを取得します...タブがアクティブではないにもかかわらず、豊富なデータセットが初期化されます。タブが非アクティブなのでレンダリングされません。 私がプレーンなh:dataTableを使用すると、問題はなくなります。つまり、結果リストは取得されません。
は、これまでのところ私は2つの回避策を得た:
私はeditLinkにlimitToListを使用する場合には、処理部が正常に機能しているが、これは、我々はすべてのコマンドボタン/リンクを適応しなければならないことを意味するであろうと、世界的なようです私はそれは私がバッキングBeanに選択したタブを結合して、sのアクティブなタブのコンテンツのみをレンダリングすることができます...再レンダリング属性に
IDが含まれていない場合、メッセージは動作を停止:フラグメント
2番目の解決策はかなり単純ですが、私は今のところこれを使用していますが、私はまだ説明を求めています。
誰もこの動作に既に遭遇しましたが、wthに関する説明がありますか?
おかげ マーティン