Spring Data PagedListHolder不返回正确的PageSize时,大小输入设置大于15列表分页,为什



我试图实现列表数据与PagedListHolder从Spring的分页,但当设置输入大小大于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);
}

我怎样才能得到正确的页面大小的任何输入?

您有30条记录,页1和页大小29返回1条记录,因为:PagedListHolder是一个简单的状态持有人,用于处理对象列表,将它们分成页面。页码从0开始

如果你的第一页在结构上是1,然后在提交页码时减去1。例句:

pagedListHolder.setPage(filterRequest.getCurrentPage() - 1);

最新更新