Httpはステートレスであり、HttpRequestから以前のデータセットを取得する方法がないため、現在、継続的なスクロールページネーションを行っています。ページ変数をユーザーセッションに格納することをお勧めしますか?(最後にロードされたコンテンツのIDを追加して、次のロードまたは次のリクエストで次の要素をロードするようにします)(ページがAJAX経由でロードされると仮定します)私はこのように実装しました。
したがって、たとえば、ユーザーが特定の名前を検索すると、これを実行する特定のアクションに移動します。
paginationHelperBean = new PaginationHelper();
if(page == 0 && name != null){
paginationHelperBean.setCurrent_page(0);
} else {
paginationHelperBean.setCurrent_page(page);
}
//Set the paginationBean for display references in JSP later
paginationHelperBean.setPer_page(RESULTS_PER_PAGE);
paginationHelperBean.setTotal_count(profileService.countSearchProfiles(name, paginationHelperBean.getCurrent_page(), RESULTS_PER_PAGE));
paginationHelperBean.setNumber_of_pages();
session.put("profileSearchKey", this.name);
session.put("profileSearchPage", page);
また、ユーザーが別のフラグメントまたはデータセットを要求すると、以前に読み込まれたコンテンツの次のアイテムが実行され、これを実行するアクションが実行されます。
String key = (String)session.get("profileSearchKey");
int page = (Integer)session.get("profileSearchPage")+1;
profiles = profileService.searchProfiles(key, page, RESULTS_PER_PAGE);
session.put("profileSearchPage", page);
だから私の質問は、ページ関連の変数をページネーションのためにセッションに保存するのは悪い習慣ですか(例えば、連続スクロールでページネーションを検索しますか?)