2

私は、古いコード ベース (Struts 1) を持つアプリケーションに取り組んでおり、現在、JSF を使用して新しいコード ベースを構築し、残りの (古い) アプリケーションと一緒に実行しています。アプリケーション全体にある古いデータテーブルは、ページネーションについて次のことを示しています。

"50 エントリの 1 から 20 を表示しています"

新しい PF データテーブルを同じ方法で表示するように依頼されました。

encodePaginatorMarkupprimefacesDataRendererクラスのメソッドをオーバーライドすることで、最初のページでこれを機能させることができました。ページが変更されたときに問題が発生します。このメソッドは、ページネーションを更新するために呼び出されていません。このメソッドが呼び出されなくても、現在のページ (およびその他すべて) が通常のページネーション テンプレートで更新されるため、これは混乱を招きます。

ページを変更するときに返される AJAX 応答を確認しましたが、ページネーションを更新するために HTML が生成されていません (合計数のみ)。これは、すべてが JS で処理されていると私に信じさせます。

私が現在実装を考えている方法はf:ajax、ページを変更するために を使用し、テーブルoncompleteの値を渡しwidgetVar、JS でそのデータテーブルのプロパティに基づいてページネーションを更新する共通のメソッドを持つことです。これはやり過ぎのように思えます。必要がなければ、コードを過度に複雑にしたくありません。

これについてもっと良い方法はありますか?他に提案はありますか?

4

1 に答える 1