Java中怎么實(shí)現(xiàn)一個分頁工具類

Java中怎么實(shí)現(xiàn)一個分頁工具類,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

10年積累的成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有衢江免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

package com.bw.utils;/** * 分頁工具類 * * @author H.ros * */public class PageUtils2 {    // 當(dāng)前頁(從頁面獲取的當(dāng)前頁碼,未計(jì)算)    private int currentPage;    // 前一頁    private int prevPage;    // 下一頁    private int nextPage;    // 尾頁    private int lastPage;    // 總記錄數(shù)    private int count;    // 每頁的條數(shù)    private int pageSize = 3;    // 分頁計(jì)入數(shù)(使用時調(diào)用的初始頁,計(jì)算后)    private int pageRecord;    // 頁面分頁模型(傳入頁面使用的DOM)    private String page;    // 有參構(gòu)造器    public PageUtils2(String currentPage, int count, int pageSize) {        init(currentPage, count, pageSize);        initLastPage();        initCurrentPage();        initPrevPage();        initNextPage();        initPageRecord();        initPage();    }    // 初始化三個重要元素    private void init(String currentPage, int count, int pageSize) {        if (currentPage == null || currentPage == "" || currentPage == "0") {            currentPage = "1";        }        this.currentPage = Integer.parseInt(currentPage);        this.count = count;        this.pageSize = pageSize;    }    // 初始化尾頁    private void initLastPage() {        if (count % pageSize == 0) {            lastPage = count / pageSize;        } else {            lastPage = count / pageSize + 1;        }    }    // 初始化并矯正當(dāng)前頁(防止外部訪問出錯)    private void initCurrentPage() {        if (currentPage < 1) {            currentPage = 1;        } else if (currentPage > lastPage) {            currentPage = lastPage;        }    }    // 初始化上一頁    private void initPrevPage() {        if (currentPage != 1) {            prevPage = currentPage - 1;        }else{            prevPage = 1;        }    }    // 初始化下一頁    private void initNextPage() {        if (currentPage != lastPage) {            nextPage = currentPage + 1;        }else{            nextPage = lastPage;        }    }    // 初始化分頁計(jì)入數(shù)    private void initPageRecord() {        pageRecord = (currentPage - 1) * pageSize;    if(pageRecord < 0){      pageRecord = 0;    }    }    // 初始化頁面分頁模型(按鍵中的class屬性是bootstrap的樣式)    private void initPage() {        page = "第" + currentPage + "/" + lastPage + "頁,共" + count + "條記錄。";        page += "<input type='button' value='首頁' οnclick='page(1)' class='btn btn-sm'/>";        page += "<input type='button' value='上一頁' οnclick='page(" + prevPage + ")' class='btn btn-sm'/>";        page += "<input type='button' value='下一頁' οnclick='page(" + nextPage + ")' class='btn btn-sm'/>";        page += "<input type='button' value='尾頁' οnclick='page(" + lastPage + ")' class='btn btn-sm'/>";    }    /*     * 對外訪問通道     */    public int getCurrentPage() {        return currentPage;    }    public int getPrevPage() {        return prevPage;    }    public int getNextPage() {        return nextPage;    }    public int getLastPage() {        return lastPage;    }    public int getCount() {        return count;    }    public int getPageSize() {        return pageSize;    }    public int getPageRecord() {        return pageRecord;    }    public String getPage() {        return page;    }}

使用方法:

里面很多的地方都會計(jì)算好,使用時只用傳入三個參數(shù):

//currentPage是從前臺傳來的當(dāng)前頁碼,count是數(shù)據(jù)的總統(tǒng)計(jì)數(shù),pageSize是每頁顯示的條數(shù),//count必須是數(shù)據(jù)中的查詢結(jié)果哦。這樣才能與前臺保持頁碼一致。PageUtils util = new PageUtils(currentPage, count, pageSize);

然后直接將它的一個Page屬性傳入前臺頁面就行:

mv.addObject("page", util.getPage());

在前臺頁面直接用EL表達(dá)式接收解析:

${page}

在js中要設(shè)置一個函數(shù):

function page(){}//因?yàn)楣ぞ哳愔刑砑拥氖莖nclick的js點(diǎn)擊事件,我們必須使用js的一個函數(shù)來進(jìn)行后臺處理;//如果不想使用,在工具類中刪除即可。

若有不對的地方,還望大神們不吝賜教。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。

分享文章:Java中怎么實(shí)現(xiàn)一個分頁工具類
URL地址:http://www.muchs.cn/article0/ihepio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、動態(tài)網(wǎng)站、網(wǎng)站改版、靜態(tài)網(wǎng)站、微信小程序、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)