Js通用分頁方法(轉載)

          Java代碼

            Java后臺:

            public class PageEntity {

            private int page;//當前頁碼

            private int total;//一共多少條

            private int totalPage;//一共多少頁

            private int firstResult;//當前首記錄

            private int lastResult;//當前尾記錄

            private int pageSize = 10; //每頁幾條數據

            public int getPage() {

            return page;

            }

            public void setPage(int page) {

            this.page = page;

            }

            public int getTotal() {

            return total;

            }

            public void setTotal(int total) {

            this.total = total;

            }

            public int getTotalPage() {

            return totalPage;

            }

            public void setTotalPage(int totalPage) {

            this.totalPage = totalPage;

            }

            public int getFirstResult() {

            return firstResult;

            }

            public void setFirstResult(int firstResult) {

            this.firstResult = firstResult;

            }

            public int getLastResult() {

            return lastResult;

            }

            public void setLastResult(int lastResult) {

            this.lastResult = lastResult;

            }

            public int getPageSize() {

            return pageSize;

            }

            public void setPageSize(int pageSize) {

            this.pageSize = pageSize;

            }

            }

            //這里注意page必須在firstResult之前計算

            public PageEntity getPageEntity(HttpServletRequest request,GenericIface entityDao,String where) {

            String strPage = request.getParameter("page") == null ? "1":request.getParameter("page");

            int page = Integer.parseInt(strPage);//要查詢的頁數

            int total = entityDao.findNumber(where);//當前數據庫總記錄數

            int pageSize = 20;//每頁要顯示的記錄

            int firstResult = 0;//起始記錄

            int lastResult = 0;//末尾記錄

            int totalPage = 0;

            if(total > 0){

            totalPage = (total + pageSize -1)/pageSize;

            if(page == -1){

            page = totalPage;

            }else if(page < 1){

            page = 1;

            }else if(page > totalPage){

            page = totalPage;

            }

            firstResult = (page-1)*pageSize;

            lastResult = firstResult + pageSize;

            }else{

            //如果沒有記錄  則清零  因為頁面有加1處理  所以firstResult=-1

            page = 0;

            firstResult = -1;

            lastResult = 0;

            }

            PageEntity pageEntity = new PageEntity();

            pageEntity.setFirstResult(firstResult);

            pageEntity.setLastResult(lastResult);

            pageEntity.setPage(page);

            pageEntity.setTotal(total);

            pageEntity.setTotalPage(totalPage);

            pageEntity.setPageSize(pageSize);

            return pageEntity;

            }

            前臺js:

            //分頁程序 1表示第一頁 2表示上一頁 3表示下一頁 4表示尾頁

            function changePage(e){

            var page = document.getElementById("nowPage") == null ? "1":document.getElementById("nowPage").value;

            switch(e){

            case 1:page=1;break;

            case 2:page--;break;

            case 3:page++;break;

            case 4:page=-1;break;

            }

            var url = "action.do?page=" + page + getCondition(page);

            document.location.href = url;

            }

            function forwardPage(){

            var page = document.getElementById("nowPage") == null ? "1":document.getElementById("nowPage").value;

            var exp = /^(0|[1-9]\d*)$/;

            var result = page.match(exp);

            if(result != null){

            var url = " action.do?page=" + page + getCondition(page);

            document.location.href = url;

            }else{

            alert("請輸入合法數字!");

            }

            }

            Jsp頁面:

            <div id="page" class="w_872 mrg_s10">

            <label><input name="" type="button" class="tnleft1" onClick="changePage(1)" title="首頁" /></label>

            <label><input name="" type="button" class="tnleft2" onClick="changePage(2)" title="上一頁" /></label>

            <label class="fo">頁碼 <input type="text" class="input5" id="nowPage" value="${pageEntity.page }" onblur="forwardPage()"> of <span>${pageEntity.totalPage }</span></label>

            <label><input name="" type="button" class="tnrig2" onClick="changePage(3)" title="下一頁" /></label>

            <label><input name="" type="button" class="tnrig1" onClick="changePage(4)" title="尾頁" /></label>

            <label class="rig"><span>${pageEntity.firstResult+1 }</span> to <span>${pageEntity.lastResult }</span>,共<span>${pageEntity.total }</span>條</label>

            </div>

            頁面效果展示:


          文章出處 :
          http://java.chinaitlab.com/ServletJsp/816055.html                                                                                                                                               


          posted on 2011-07-15 09:12 七孑 閱讀(269) 評論(0)  編輯  收藏 所屬分類: Java web技術

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 曲松县| 张家口市| 旬邑县| 诏安县| 福建省| 西宁市| 苏州市| 德令哈市| 丰县| 鸡西市| 泰兴市| 张家港市| 湖北省| 汕尾市| 宁津县| 嘉禾县| 江西省| 灵璧县| 繁峙县| 商南县| 秭归县| 呼伦贝尔市| 嘉荫县| 阿克苏市| 开平市| 东乡| 京山县| 北川| 大竹县| 忻州市| 武隆县| 永吉县| 开封县| 林周县| 如皋市| 东辽县| 青浦区| 肇源县| 柘荣县| 仪征市| 金湖县|