1、實體層
package com.eccap.es.model; import java.util.List; /** * 分頁信息 * * @author chaohui.yan * @date 2019-06-10 * */ public class Pagefenye<T> { // 你頁面需要展示的集合 private List<T> list; // 總頁數 private int totalPage; // 當前頁 private int currentPage; // 每頁顯示的數目 (為了防止硬編碼可以寫在配置文件中) private int pageSize; public Pagefenye(int totalNum, int currentPage, int pageSize, int pageNo) { this.currentPage = currentPage; this.pageSize = pageSize; /*this.pageNo = pageNo;*/ // 計算總頁數 if (totalNum % this.pageSize == 0) this.totalPage = totalNum / this.pageSize; else this.totalPage = (totalNum / this.pageSize) + 1; } public List<T> getList() { return list; } public void setList(List<T> list) { this.list = list; } public int getTotalPage() { return totalPage; } public void setTotalPage(int totalPage) { this.totalPage = totalPage; } public int getCurrentPage() { return currentPage; } public void setCurrentPage(int currentPage) { this.currentPage = currentPage; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } }
2、Dao層select * from 表名 查詢
3、service層
@Autowired private EsEntPermitManager esEntPermitManager; public Pagefenye<T> findAllUsersByPage(int currentPage, int pageSize) { List<T> users =“調用查詢方法”;//esEntPermitManager.fenye(); Pagefenye<T> pageInfo = new Pagefenye<>(users.size(), currentPage, pageSize, 5); //判斷是否是最后一頁,如果最后一頁就顯示最后一頁的幾條,不是最后一頁就顯示pageSize條 if(currentPage==pageInfo.getTotalPage()) pageInfo.setList(users.subList((currentPage-1)*pageSize, users.size())); else { pageInfo.setList(users.subList((currentPage-1)*pageSize, (currentPage-1)*pageSize+pageSize)); } return pageInfo; }
4、controller層
public void Pagefenye() {
//將瀏覽器的編碼設置為Utf-8
this.getResponse().setContentType("text/plain; charset=UTF-8");
//接收當前頁
String pageNo = this.getParameter("pageNo"); //String 轉 int int isd = Integer.parseInt(pageNo); String stg = null; //調用業務層方法並傳入當前頁,每頁展示多少條 Pagefenye<T> list = pagefenyeManager.findAllUsersByPage(isd,100); try { //獲取查詢結果轉為json並展示空值 stg = JSON.toJSONString(list,SerializerFeature.PrettyFormat, SerializerFeature.WriteMapNullValue); System.out.println(stg); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }
//打印輸出文本格式的(包括html標簽)頁面展示值
this.getResponse().getWriter().write(stg);
this.getResponse().getWriter().flush();
this.getResponse().getWriter().close();
}