Bootstrap-paginator + PageHelper 前後臺分頁對接

目錄

一、bootstrap-paginator 簡介

二、bootstrap-paginator + PageHelper 前後臺分頁的實現


一、bootstrap-paginator 簡介

1.先導入相關的 bootstrap 、jquery、bootstrap-paginator 相關 css+js 文件,本文後面提供百度雲下載鏈接。

<link rel="stylesheet" href="css/bootstrap.min.css" />
<script src="./js/jquery-1.9.1.min.js" type="text/javascript"></script>
<script src="./js/bootstrap-paginator.js"></script>

2.在 body 標籤裏面寫下以下代碼:

<body>
<div style="text-align: right;">
    <ul id='bp-3-element-test'></ul>
</div>
<script type="text/javascript">

    $(function(){
        var element = $('#bp-3-element-test');
        var options = {
            bootstrapMajorVersion:3, //bootstrap的版本要求
            currentPage: 2,          //設置當前頁
            numberOfPages: 5,		 //設置可以點擊到的頁數範圍
            totalPages:11            //設置總頁數
//          numberOfPages:5        //一頁列出多少數據
        }
        element.bootstrapPaginator(options);
    });
</script>
</body>

3.這樣就行了,項目使用,請自行修改一些動態參數。以下是效果圖:

4.下面是提供整個 bootstrap 的分頁插件代碼的百度雲鏈接,下載後可直接預覽,已經整理過,可讀性強。

鏈接: https://pan.baidu.com/s/114GSiHCX2xtrLRUk1yL6qw 密碼: a2k9

二、bootstrap-paginator 前後臺分頁的實現

1、導入相關的靜態資源

<link rel="stylesheet"
	href="./static/bootstrap-paginator/bootstrap.min.css" />
<script src="./static/js/jquery.js"></script>
<script src="./static/bootstrap-paginator/bootstrap-paginator.js"></script>

2、存放分頁框的 html 代碼

<div>
    <ul id='pageInfo'></ul>
</div>

3、JS 代碼

前臺後的交互,這裏採用的 ajax ,如果不清楚什麼是 ajax 的話,可以去學下。通過 ajax 拿到後臺的數據之後,需要自己渲染到 html 代碼中,具體怎麼渲染根據自己的需求去渲染。

<script type="text/javascript">
    var element = $("#pageInfo);
    pageStart();
    function pageStart(){
        $.ajax({
            type:"GET",
            url:"getlist",
            dataType:"json",
            data:{page:1},
            success:function(data){
                //後臺返回的需要顯示的信息列表
                //根據自己需求再進行前端渲染
                console.log(data.list);
                
                var options = {
                        bootstrapMajorVersion:3, //bootstrap的版本要求
                        currentPage:data.page,//當前頁數
                        totalPages:data.totalPage,//總頁數
                        numberOfPages:data.pageSize,//每頁記錄數
                        itemTexts : function(type, page, current) {//設置分頁按鈕顯示字體樣式
                            switch (type) {
                            case "first":
                                return "首頁";
                            case "prev":
                                return "上一頁";
                            case "next":
                                return "下一頁";
                            case "last":
                                return "末頁";
                            case "page":
                                return page;
                            }
                        },
                        onPageClicked:function(event,originalEvent,type,page){//分頁按鈕點擊事件
                            $.ajax({//根據page去後臺加載數據
                                url:"getlist",
                                type:"GET",
                                dataType:"json",
                                data:{"page":page},
                                success:function(data){
                                    //後臺返回的需要顯示的信息列表
                                    //根據自己需求再進行前端渲染
                                    console.log(data.list);
                                }
                            })
                        }
                }
                //初始化分頁框
                element.bootstrapPaginator(options);
            }
        })
    }
</script>

4、後臺代碼

後臺採用的是 PageHelper 分頁插件,不知道怎麼用的,可以看另外一篇博客的介紹。

Java 分頁插件 PageHelper 的配置及使用

@RequestMapping(value="/getlist")
public Map<String,Object> getListInfo(int page)throws IOException{
	//PageHelper 後臺分頁插件
	PageHelper.startPage(page, 10);
	Map<String,Object> modelMap = new HashMap<String,Object>();
	//從數據庫中查詢出數據
	List<TUser> list = userService.displayAllUser();
	PageInfo pageInfo = new PageInfo(list);
	int totalPage = pageInfo.getPages();//總頁數

	modelMap.put("page", page);
	modelMap.put("list", list);
	modelMap.put("totalPage", totalPage);
	modelMap.put("pageSize",10 );
	
	return modelMap;
}

同類型文章推薦:

Jquery 分頁插件, 帶你一步一步接入後臺數據

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