Http請求純后台簡單實現分頁並返回JSON格式


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();

    }        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM