我正在嘗試使用PagedListHolderSpring實作 List 資料的分頁,但是當設定輸入大小大于 15 時,它現在回傳預期輸出。
private List<WorklistResponse> getPaginatedResponseResult(List<WorklistResponse> worklistResponse, FilterRequest filterRequest) {
PagedListHolder<WorklistResponse> pagedListHolder = new PagedListHolder<WorklistResponse>();
pagedListHolder.setSource(worklistResponse);
pagedListHolder.setPage(filterRequest.getCurrentPage());// 1
pagedListHolder.setPageSize(filterRequest.getPageSize());// 29
System.out.println(worklistResponse.size());//total input list size 30
System.out.println(pagedListHolder.getPageSize()); // after setting size 29
System.out.println(pagedListHolder.getPageList().size());// actual page element size result is 1 which is not correct ,it should be 29
return pagedListHolder.getPageList();
}
在 class 中PagedListHolder,以下方法會影響結果:
public List<E> getPageList() {
return this.getSource().subList(this.getFirstElementOnPage(), this.getLastElementOnPage() 1);
}
如何為任何輸入獲得正確的頁面大小?
uj5u.com熱心網友回復:
您有 30 條記錄,頁面 1 和頁面大小 29 回傳 1 條記錄,因為: PagedListHolder是一個簡單的狀態持有者,用于處理物件串列,將它們分成頁面。頁碼從 0 開始。
如果結構上你的第一頁是 1,那么在提交頁碼時減去 1 。例如:
pagedListHolder.setPage(filterRequest.getCurrentPage() - 1);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/336930.html
