我有一个当前工作的连续滚动分页,因为 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);
所以我的问题是,在 Session 中存储与页面相关的变量以进行分页是一种不好的做法(例如,连续滚动的搜索分页?)