大数据分页功能 的一种实现方式

来源:互联网 发布:淘宝售后职责 编辑:程序博客网 时间:2024/06/08 05:03

大数据分页功能 的一种实现方式

工具类 Page.java

功能: 界面上所有与分页有关的都找此类要

import java.util.List;//界面上所有与分页有关的都找此类要public class Page {    private List records;    private int pagesize = 10;//每页显示的记录条数    private int pagenum;//用户要看的页码即当前页码    private int totalpage;//总页数    private int startIndex;//每页开始记录的索引    private int totalrecords;//总记录条数    //显示的页码    private int startPage;    private int endPage;    //查询数据时的Servlet的URL    private String servletUrl;    public Page(int pagenum,int totalrecords){        this.pagenum = pagenum;        this.totalrecords = totalrecords;        //计算每页开始记录的索引        startIndex = (pagenum-1)*pagesize;        //计算总页数        totalpage = totalrecords%pagesize==0?totalrecords/pagesize:(totalrecords/pagesize+1);        //显示的页码        if(totalpage<=9){            startPage = 1;            endPage = totalpage;        }else{            startPage = pagenum-4;            endPage = pagenum+4;            if(startPage<1){                startPage = 1;                endPage = 9;            }            if(endPage>totalpage){                endPage = totalpage;                startPage = totalpage-8;            }        }    }    public List getRecords() {        return records;    }    public void setRecords(List records) {        this.records = records;    }    public int getPagesize() {        return pagesize;    }    public void setPagesize(int pagesize) {        this.pagesize = pagesize;    }    public int getPagenum() {        return pagenum;    }    public void setPagenum(int pagenum) {        this.pagenum = pagenum;    }    public int getTotalpage() {        return totalpage;    }    public void setTotalpage(int totalpage) {        this.totalpage = totalpage;    }    public int getStartIndex() {        return startIndex;    }    public void setStartIndex(int startIndex) {        this.startIndex = startIndex;    }    public int getTotalrecords() {        return totalrecords;    }    public void setTotalrecords(int totalrecords) {        this.totalrecords = totalrecords;    }    public int getStartPage() {        return startPage;    }    public void setStartPage(int startPage) {        this.startPage = startPage;    }    public int getEndPage() {        return endPage;    }    public void setEndPage(int endPage) {        this.endPage = endPage;    }    public String getServletUrl() {        return servletUrl;    }    public void setServletUrl(String servletUrl) {        this.servletUrl = servletUrl;    }}

jsp页面使用

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!-- 分页的东东 -->                第${page.pagenum}页/共${page.totalpage}页&nbsp;&nbsp;                <a href="${pageContext.request.contextPath}/servlet/ShowAllCustomersServlet">首页</a>&nbsp;&nbsp;                <a href="${pageContext.request.contextPath}/servlet/ShowAllCustomersServlet?pagenum=${page.pagenum-1==0?1:page.pagenum-1}">上一页</a>&nbsp;&nbsp;                <c:forEach begin="${page.startPage}" end="${page.endPage}" var="num">                    <a href="${pageContext.request.contextPath}/servlet/ShowAllCustomersServlet?pagenum=${num}">${num }</a>                </c:forEach>                &nbsp;&nbsp;                <a href="${pageContext.request.contextPath}/servlet/ShowAllCustomersServlet?pagenum=${page.pagenum+1>page.totalpage?page.totalpage:page.pagenum+1}">下一页</a>&nbsp;&nbsp;                <a href="${pageContext.request.contextPath}/servlet/ShowAllCustomersServlet?pagenum=${page.totalpage}">尾页</a>                <select id="s1">                    <c:forEach begin="1" end="${page.totalpage}" var="num">                        <option value="${num}" ${page.pagenum==num?'selected="selected"':''}>${num}</option>                    </c:forEach>                </select>                <a href="javascript:jump()">跳转</a>                <script type="text/javascript">                    function jump(){                        var num = document.getElementById("s1").value;                        window.location.href="${pageContext.request.contextPath}/servlet/ShowAllCustomersServlet?pagenum="+num;                    }                </script>
原创粉丝点击