質問: ### 前提・実現したいこと JavaEE7 PrimeFaces5.3 を使用して開発しています。 PrimeFacesのdataTableで検索結果を一覧表示しようとしているのですが、 期待している動作になりません。 参考にしているのはPrimeFaces showcaseのDatatable-Sortです。 ソートマークが表示されたラベルをクリックすると、@PostConstruct定義したメソッドやp:dataTableのvalueで定義した変数のgetterが呼ばれることに起因していると思われます。 sortBy定義時にこれからのメソッドが呼ばれないようにする方法、もしくは呼出し先メソッドでsortByとして呼ばれたことを判別する方法をご存知の方がいらっしゃれば、その方法をご教授ください。 ### 発生している問題・エラーメッセージ テストデータを10件準備し、2ページにまたがる環境を作成。 【その1】 ソートマークが表示されたラベルをクリックすると、当初ページング用ボタンとして1、2と表示されていたものが1のみになってしまう。 【その2】 2ページ目に遷移しておいて、ソートラベルをクリックすると1ページ目に遷移してしまう。ページング用ボタンの2が表示されなくなる。 ### 該当のソースコード Single Column Sort ### 試したこと lazy="true"が怪しそうなので、未定義などもやりましたが状況は変わりませんでした。
回答: pekoooeさん 私のブログにも同じご質問いただいていたかと思います。ブログコメントで回答させていただいていたのですが、こちらにも回答を書かせていただきます。 dtSortViewクラスのスコープなどがわからないのですが、2ページ目でソートクリックすると1ページ目になってしまうとのことで、RequestScopedになっている等はないでしょうか。 一応自分でもPrimeFaces5.3を使って、ソートとページングを定義して、同じようなビュー定義してみたのですが、問題なく動作しました。以下のGitHubリポジトリに私が確認したコードを置いたので、一度見比べていただけますでしょうか。