手寫javaweb分頁頁碼

public class PageNoUtils {
    //數據總數
    private Integer dataTotal;
    //頁數總數
    private Integer pageTotal;
    //每頁展示多少條數據
    private Integer showDataTotalSize;
    //每頁展示多少條頁碼
    private Integer pageNoSize;
    //當前頁
    private Integer currentNo;
    
    public PageNoUtils(Integer dataTotal, Integer pageNoSize, Integer showDataTotalSize, Integer currentNo) {
        super();
        this.dataTotal = dataTotal;
        this.pageNoSize = pageNoSize;
        this.currentNo = currentNo;
        this.pageTotal = dataTotal / showDataTotalSize;
        if(dataTotal % showDataTotalSize > 0) {
            this.pageTotal++;
        }
    }


    public Integer getDataTotal() {
        return dataTotal;
    }

    public void setDataTotal(Integer dataTotal) {
        this.dataTotal = dataTotal;
    }

    public Integer getPageTotal() {
        return pageTotal;
    }

    public void setPageTotal(Integer pageTotal) {
        this.pageTotal = pageTotal;
    }

    public Integer getShowDataTotalSize() {
        return showDataTotalSize;
    }

    public void setShowDataTotalSize(Integer showDataTotalSize) {
        this.showDataTotalSize = showDataTotalSize;
    }

    public Integer getPageNoSize() {
        return pageNoSize;
    }

    public void setPageNoSize(Integer pageNoSize) {
        this.pageNoSize = pageNoSize;
    }

    public Integer getCurrentNo() {
        return currentNo;
    }

    public void setCurrentNo(Integer currentNo) {
        this.currentNo = currentNo;
    }

    public List<Integer> getPageNoList() {
        List<Integer> pageNoList = new ArrayList<Integer>();
        int middle = (pageNoSize / 2);
        if (currentNo <= (middle + 1)) {
            for (int i = 1; i <= (pageNoSize > pageTotal ? pageTotal : pageNoSize); i++) {
                pageNoList.add(i);
            }
        } else if (currentNo > (middle + 1) && currentNo <= pageTotal - (middle + 1)) {
            for (int i = currentNo - middle; i <= currentNo + middle; i++) {
                pageNoList.add(i);
            }
        } else if (currentNo > pageTotal - (middle + 1)) {
            for (int i = pageTotal - (middle); i <= pageTotal; i++) {
                pageNoList.add(i);
            }
        }
        return pageNoList;
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章