zoukankan      html  css  js  c++  java
  • java中分页的实现

    page实体类:

    public class Page<T> {
    	private int perPageNum;// 每页的数据条数
    	private int pageNum;// 访问的哪一页
    	private int totalRecordsCount;// 总的数据条数
    	private int totalPageNum;// 总页数
    	private List<T> pageT;//每一页的所有实体数据,T为实体
    
    }

    调用实例:  

        // 分页查询
        public Page pageQuery(int pageNum) throws Exception {
            int perPageNum = 10;// 每一页显示的数量
            int totalRecordCount = schoolDaoImpl.schoolCount();// 总记录
            int totalPageCount = (totalRecordCount + perPageNum - 1) / perPageNum;// 总页数
            // 获得数据
            List<School> schools = schoolDaoImpl.getSpecifyPageData((pageNum - 1) * perPageNum, perPageNum);
    
    Page schoolPage
    = new Page(); schoolPage.setPageNum(pageNum); schoolPage.setPageT(schools); schoolPage.setPerPageNum(perPageNum); schoolPage.setTotalPageNum(totalPageCount); schoolPage.setTotalRecordsCount(totalRecordCount); return schoolPage; }

    JSP中的分页实现:ps:page由上方调用实例填充到request的结果

        <!-- 具体数据-->
        <table id="dynamic-table"
            class="table table-striped table-bordered table-hover">
            <thead>
                <tr>
                    <th>专业名称</th>
                    <th>专业代码</th>
                    <th>创建时间</th>
                </tr>
            </thead>
    
            <tbody>
                <c:forEach items="${page.pageT}" var="major">
                    <tr>
                        <td>${major.majorName}</td>
                        <td>${major.majorCode}</td>
                        <td>${major.createDate}</td>
                    </tr>
                </c:forEach>
            </tbody>
        </table>
    
        <!-- 数据下方的首页,第几页,尾页什么的-->
        <div class="center">
            第${page.pageNum}页/共${page.totalPageNum}页
            <c:if test="${page.pageNum>1}">
                <a
                    href="<c:url value="/school/schIncluMajorsPage"/>?pageNum=1&schID=${jumpSchID}">首页</a>
                <a
                    href="<c:url value="/school/schIncluMajorsPage"/>?pageNum=${page.pageNum-1}&schID=${jumpSchID}">上一页</a>
            </c:if>
            <%-- 计算begin、end --%>
            <c:choose>
                <%-- 如果总页数不足10页,那么把所有的页数都显示出来! --%>
                <c:when test="${page.pageNum <= 10 }">
                    <c:set var="begin" value="1" />
                    <c:set var="end" value="${page.totalPageNum}" />
                </c:when>
                <c:otherwise>
                    <%-- 当总页数>10时,通过公式计算出begin和end --%>
                    <c:set var="begin" value="${page.pageNum-5 }" />
                    <c:set var="end" value="${page.pageNum+4 }" />
                    <%-- 头溢出 --%>
                    <c:if test="${begin < 1 }">
                        <c:set var="begin" value="1" />
                        <c:set var="end" value="10" />
                    </c:if>
                    <%-- 尾溢出 --%>
                    <c:if test="${end > page.totalPageNum}">
                        <c:set var="begin" value="${page.totalPageNum - 9 }" />
                        <c:set var="end" value="${page.totalPageNum}" />
                    </c:if>
                </c:otherwise>
            </c:choose>
            <%-- 循环遍历页码列表 --%>
            <c:forEach var="i" begin="${begin }" end="${end }">
                <c:choose>
                    <c:when test="${i eq page.pageNum }">[${i }]</c:when>
                    <c:otherwise>
                        <a
                            href="<c:url value="/school/schIncluMajorsPage"/>?pageNum=${i}&schID=${jumpSchID}">[${i }]</a>
                    </c:otherwise>
                </c:choose>
    
            </c:forEach>
    
    
            <c:if test="${page.pageNum <page.totalPageNum }">
                <a
                    href="<c:url value="/school/schIncluMajorsPage"/>?pageNum=${page.pageNum+1}&schID=${jumpSchID}">下一页</a>
                <a
                    href="<c:url value="/school/schIncluMajorsPage"/>?pageNum=${page.totalPageNum}&schID=${jumpSchID}">尾页</a>
            </c:if>
        </div>
  • 相关阅读:
    2019icpc上海站 打星体验,首次感想 D K代码
    P1983 车站分级 思维+拓扑排序
    POJ 2352 Stars Treap & 线段树
    POJ 2761 Feed the dogs 基础Treap
    POJ 1442 Black Box 基础Treap
    CodeForces R285 Div2
    HDU 5145 NPY and girls 莫队算法
    2014 上海赛区小结
    2014 牡丹江赛区总结
    HDU 5125 Magic Ball DP+树状数组
  • 原文地址:https://www.cnblogs.com/SunAutumn/p/5623352.html
Copyright © 2011-2022 走看看