import io.undertow.servlet.core.ApplicationListeners;
import org.jaxen.expr.iter.IterableNamespaceAxis;
import org.omg.CORBA.INTERNAL;
import java.util.ArrayList;
import java.util.List;
/**
* @author lqx
* @ClassName PageUtilL
* @description 文件在 E(我的網盤\我的筆記):\學習文檔子目錄壓縮\工具技術2\分頁工具類\PageUtilL.java
* @date 2020/3/19 18:59
*/
public class PageUtilL<T> {
/***
* @Description:
* @Author: lqx
* @RequestMethod:
* @Date: 2020/3/19 19:11
* @param page: 頁碼
* @param limit: 每頁顯示條數
* @param list:
* @return: java.util.List<T>
**/
public List<T> page(Object page,Object limit,List<T> list){
if(list.size()<1){
return null;
}
List<T> temp=new ArrayList<T>();
int mrPage=1; //默認頁碼
int mrLimt=1; //默認每頁條數
int total=list.size(); //總條數
int pageCount=1; //總頁數
if(page!=null && page.toString()!="" && limit!=null && limit.toString()!=""){
mrPage=Integer.parseInt(page.toString());
mrLimt=Integer.parseInt(limit.toString());
if(total%mrLimt==0){
pageCount=total%mrLimt;
}else{
pageCount=total%mrLimt+1;
}
}else {//不分頁每頁顯示默認每頁條數最多10條,頁碼爲1,總頁數1
if(total>10){
mrLimt=10;
}else {
mrLimt=total;
}
}
//目標起始記錄,結束記錄
int start=(mrPage-1)*mrLimt;
int end=mrPage*mrLimt;
if(start>total){//如果要查詢的目標index>數據的總條數
return null;
}
if(end>total){//如果要查詢的目標endIndex>數據的總條數
end=total;
}
for(;start<end;start++){
temp.add(list.get(start));
}
return temp;
}
/***
* @Description: 分頁頁碼設置
* @Author: lqx
* @RequestMethod:
* @Date: 2020/4/13 15:18
* @param params: page:當前頁,limit:每頁顯示條數
* @return: java.util.List<T>
**/
public void pageYm(Map<String, Object> params){
//當前頁數
int page = params.get("page")==null?0:Integer.parseInt(params.get("page").toString());
//每頁條數
int limit = params.get("limit")==null?0:Integer.parseInt(params.get("limit").toString());
//開始記錄數
int startCount = (page - 1) * limit;
params.put("page", startCount);
params.put("limit", page * limit);
}
}