【发布时间】:2021-12-11 17:24:16
【问题描述】:
我正在尝试使用 Spring 中的 PagedListHolder 实现列表数据的分页,但是当设置输入大小大于 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();
}
在PagedListHolder 类中,以下方法会影响结果:
public List<E> getPageList() {
return this.getSource().subList(this.getFirstElementOnPage(), this.getLastElementOnPage() + 1);
}
如何为任何输入获得正确的页面大小?
【问题讨论】:
标签: java spring spring-boot rest spring-data-jpa