1.获取分页请求信息
PageDomain pageDomain = TableSupport.buildPageRequest();
Integer pageNum = pageDomain.getPageNum();
Integer pageSize = pageDomain.getPageSize();
TableDataInfo rspData =new TableDataInfo();
rspData.setCode(0);
//list为请求完成的数据
rspData.setRows(myStartPage(list, pageNum, pageSize));
rspData.setTotal(new PageInfo(list).getTotal());
return rspData;
2.对数据进行处理
public static List myStartPage(List list, Integer pageNum, Integer pageSize){
if(list ==null){
return null;
}
if(list.size()==0){
return null;
}
Integer count = list.size();//
Integer pageCount =0;//
if(count % pageSize ==0){
pageCount = count / pageSize;
}else{
pageCount = count / pageSize +1;
}
int fromIndex =0;//
int toIndex =0;//
//停留在最后一页翻页后的错误
if (pageNum > pageCount){
pageNum = pageCount;
}
if(!pageNum.equals(pageCount)){
fromIndex =(pageNum -1)* pageSize;
toIndex = fromIndex + pageSize;
}else{
fromIndex =(pageNum -1)* pageSize;
toIndex = count;
}
List pageList = list.subList(fromIndex,toIndex);
return pageList;
}
在这里踩坑的地方是说,当用户处在最后一页进行分页的时候,页码与当前不服
//停留在最后一页翻页后的错误
if (pageNum > pageCount){
pageNum = pageCount;
}
需要单独在这里进行处理