Java设置后端分页

getPages(Integer.parseInt(String.valueOf(page.getCurrent())),Integer.parseInt(String.valueOf(page.getSize())),dtos);

/**

* 对list分页

* @param currentPage

* @param pageSize

* @param list

* @return

*/

private IPage getPages(Integer currentPage, Integer pageSize, List list) {

IPage page = new Page();

if(list == null){

return null;

}

int size = list.size();

if(pageSize > size) {

pageSize = size;

}

if (pageSize!=0){

// 求出最大页数,防止currentPage越界

int maxPage = size % pageSize == 0 ? size / pageSize : size / pageSize + 1;

if(currentPage > maxPage) {

currentPage = maxPage;

}

}

// 当前页第一条数据的下标

int curIdx = currentPage > 1 ? (currentPage - 1) * pageSize : 0;

List pageList = new ArrayList();

// 将当前页的数据放进pageList

for(int i = 0; i < pageSize && curIdx + i < size; i++) {

pageList.add(list.get(curIdx + i));

}

page.setCurrent(currentPage).setSize(pageSize).setTotal(list.size()).setRecords(pageList);

return page;

}

相关推荐
xrkhy2 分钟前
java中XML的使用
xml·java·开发语言
抽风的雨6104 分钟前
【python基础知识】Day 27 函数专题2:装饰器
开发语言·python
胡斌附体12 分钟前
idea挂掉,会导致进程不结束,切换profile环境,导致token认证不通过
java·ide·intellij-idea·调试·token失效
martian6651 小时前
医学影像系统性能优化与调试技术:深度剖析与实践指南
开发语言·系统安全·dicom
y102121041 小时前
Pyhton训练营打卡Day27
java·开发语言·数据结构
AA-代码批发V哥1 小时前
Java类一文分解:JavaBean,工具类,测试类的深度剖析
java·开发语言
等等5431 小时前
Java EE初阶——线程安全
java·java-ee
薯条不要番茄酱1 小时前
【SpringBoot】从零开始全面解析SpringMVC (二)
java·spring boot·后端
zhougl9961 小时前
OkHttp用法-Java调用http服务
java·http·okhttp
chilavert3181 小时前
从RPA项目说说RPC和MQ的使用。
开发语言·qt·rpc·rabbitmq