pageinfo对合并list进行分页_用pageInfo对List手工分页

packagecn.taotao.utils;importcom.github.pagehelper.PageInfo;/*** @Title: PageHelperTool.java

* @Package

* @Description: 分页工具类*/

public classPageHelperTool {/*** PageHelper中,如果当前页是最后一页,则返回的nextPage是0,即首页,而有时我们需要最后一页的nextPage是lastPage,因此写此方法

*

*@paramcurrentPage

*@parampageObj

*@return

*/

public static PageInfo lastPageSetNextPage(int currentPage, PageInfopageObj) {if (currentPage ==pageObj.getPages()) {

pageObj.setNextPage(pageObj.getPages());

}returnpageObj;

}public static PageInfo initPageInfoObj(int currentPage, int total, int pageSize, PageInfopageInfo) {

pageInfo.setNextPage(currentPage< ((total + pageSize - 1) / pageSize) ? currentPage + 1: currentPage);

pageInfo.setTotal(total);

pageInfo.setPageNum(currentPage);

pageInfo.setPages((total+ pageSize - 1) /pageSize);

pageInfo.setLastPage((total+ pageSize - 1) /pageSize);

pageInfo.setPrePage(currentPage> 1 ? currentPage - 1: currentPage);

pageInfo.setIsFirstPage(currentPage== 1 ? true : false);

pageInfo.setIsLastPage(currentPage== (total + pageSize - 1) / pageSize ? true : false);

pageInfo.setHasPreviousPage(currentPage== 1 ? false : true);

pageInfo.setHasNextPage(currentPage== (total + pageSize - 1) / pageSize ? false : true);returncalcNavigatepageNums(pageInfo);

}private static PageInfo calcNavigatepageNums(PageInfopageInfo) {//当总页数小于或等于导航页码数时

if (pageInfo.getPages() <=pageInfo.getNavigatePages()) {

pageInfo.setNavigatepageNums(new int[pageInfo.getPages()]);for (int i = 0; i < pageInfo.getPages(); i++) {

pageInfo.getNavigatepageNums()[i]= i + 1;

}

}else { //当总页数大于导航页码数时

pageInfo.setNavigatepageNums(new int[pageInfo.getNavigatePages()]);int startNum = pageInfo.getPageNum() - pageInfo.getNavigatePages() / 2;int endNum = pageInfo.getPageNum() + pageInfo.getNavigatePages() / 2;if (startNum < 1) {

startNum= 1;//(最前navigatePages页

for (int i = 0; i < pageInfo.getNavigatePages(); i++) {

pageInfo.getNavigatepageNums()[i]= startNum++;

}

}else if (endNum >pageInfo.getPages()) {

endNum=pageInfo.getPages();//最后navigatePages页

for (int i = pageInfo.getNavigatePages() - 1; i >= 0; i--) {

pageInfo.getNavigatepageNums()[i]= endNum--;

}

}else{//所有中间页

for (int i = 0; i < pageInfo.getNavigatePages(); i++) {

pageInfo.getNavigatepageNums()[i]= startNum++;

}

}

}returnpageInfo;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值