jsp自定義的一個分頁標簽

jopen 10年前發布 | 31K 次閱讀 JSP Java開發

<%@ tag language="java" pageEncoding="UTF-8"%>
<%@taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core"%>
<%@ attribute name="currentPage" type="java.lang.Long" required="true"%>
<%@ attribute name="pageSize" type="java.lang.Long" required="true"%>
<%@ attribute name="pagerRange" type="java.lang.Long" required="true"%>
<%@ attribute name="totalPage" type="java.lang.Long" required="true"%>
<%@ attribute name="totalElement" type="java.lang.Long" required="true"%>
<%@ attribute name="formId" type="java.lang.String" required="true"%>
<%
    // http://blog.csdn.net/tomatozq/article/details/8215946
    long begin = Math.max(1, currentPage - pagerRange / 2);//循環顯示分頁
    long end = Math.min(begin + (pagerRange - 1), totalPage);//循環顯示分頁
    request.setAttribute("pageBegin", begin);
    request.setAttribute("pageEnd", end);
%>
<div class="col-sm-6">
<div id="pager" >
    <label>顯示 
        <select size="1" onchange="javascript:gotoPage(<%=currentPage%>)" id="p_pageSizeSelect">
            <option value="10"  <c:if test="${pageSize==10}">selected</c:if>>10</option>
            <option value="25"  <c:if test="${pageSize==25}">selected</c:if>>25</option>
            <option value="50"  <c:if test="${pageSize==50}">selected</c:if>>50</option>
            <option value="100" <c:if test="${pageSize==100}">selected</c:if>>100</option>
        </select> 
    記錄</label>
    |&nbsp;<label>共 ${totalElement} 記錄&nbsp;|&nbsp;共${totalPage }頁</label>
    </div ><!--#page  -->
</div>
<div class="col-sm-6">
    <div class="dataTables_paginate paging_bootstrap">
        <ul class="pagination">
            <%if (currentPage != 1){ %>
                <li class="prev "><a href="javascript:gotoPage(1)"><i class=" icon-double-angle-left "></i></a></li>
                <li class="prev "><a href="javascript:gotoPage(<%=currentPage - 1%>)"><i class=" icon-angle-left "></i></a></li>
            <%}else{ %>
                <li class="prev disabled"><a href="javascript:void(0)"><i class=" icon-double-angle-left "></i></a></li>
                <li class="prev disabled"><a href="javascript:void(0)"><i class=" icon-angle-left "></i></a></li>
            <%} %>
            <c:forEach var="i"  begin="${pageBegin }" end="${pageEnd }">
                <c:choose>
                    <c:when test="${i == currentPage }">
                        <li class="active"><a href="javascript:void(0)">${i }</a></li>
                    </c:when>
                    <c:otherwise>
                        <li><a href="javascript:gotoPage(${i })" >${i }</a></li>
                    </c:otherwise>
                </c:choose>
            </c:forEach>
            <%if (currentPage != totalPage){ %>
                <li class="next"><a href="javascript:gotoPage(<%=currentPage + 1%>)"><i class="icon-angle-right "></i></a></li>
                <li class="next "><a href="javascript:gotoPage(<%=totalPage%>)"><i class="icon-double-angle-right "></i></a></li>
            <%}else{ %>
                <li class="next disabled"><a href="javascript:void(0)"><i class="icon-angle-right "></i></a></li>
                <li class="next disabled"><a href="javascript:void(0)"><i class="icon-double-angle-right "></i></a></li>
            <%} %>
        </ul>
    </div><!-- dataTables_paginate paging_bootstrap -->
</div><!-- col-sm-6 -->

//命名為:page.tag

另一個頁面叫x.jsp用法:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/jspf/taglibs.jspf" %>
//這個需要從后臺傳參過來,獲取相應的值,
<tags:pager pagerRange="6"  totalElement="${totalElement }" pageSize="${pageSize}"  totalPage="${totalPage}" currentPage="${currentPage}" formId="queryForm"></tags:pager>

參考:// http://blog.csdn.net/tomatozq/article/details/8215946

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!