分页实现

来源:互联网 发布:java京东面试题 编辑:程序博客网 时间:2024/06/04 18:49

如上图所示效果代码实现:

1. 在当前页面为1时,不显示上一页,在当前页面为最后一页时,不显示下一页

2. 页面数小于5的时候列出所有页面,大于5时只显示与当前页相临近的4页

<style><!--label.title{ display: inline-block; width: 80px; }label.item{ display: inline-block; width: 70px; }#left{float:left;padding:10px;font-size:9pt;}#right{float:left;padding:28px 10px 10px 10px;}--></style><c:set var="pageCount" scope="session">   <fmt:formatNumber type="number" value="${ (data.count % data.size == 0) ? (data.count / data.size) : (data.count / data.size + 1) - 0.5}" maxFractionDigits="0"/></c:set><c:if test="${ sessionScope.pageCount > 1}"><div class="pagination" id="left"><ul><c:if test="${data.page > 0 }"><li><a href="./logs?page=${ data.page - 1}&size=${data.size}&begin=${param.begin}&end=${param.end}&type=${param.type}&pname=${param.pname}">上一页</a></li></c:if><c:choose>       <c:when test="${ sessionScope.pageCount <= 5}">       <c:forEach var="idx" begin="1" end="${ sessionScope.pageCount}" varStatus="status"><c:if test="${ data.page + 1 == idx}"><li> <a style="color:#000;">${ data.page + 1}</a></li></c:if><c:if test="${ data.page + 1 != idx}"><li><a href="./logs?page=${ idx - 1}&size=${data.size}&begin=${param.begin}&end=${param.end}&type=${param.type}&pname=${param.pname}"> ${ idx}</a></li></c:if></c:forEach>       </c:when>       <c:otherwise>       <c:forEach var="idx" begin="0" end="${ sessionScope.pageCount - 1}" varStatus="status"><c:choose><c:when test="${ data.page == idx}"><li> <a style="color:#000;">${ data.page + 1}</a></li></c:when><c:when test="${(data.page > 1 and data.page + 2 < sessionScope.pageCount) and ( (data.page - idx <= 2 and data.page - idx > 0 ) or (idx - data.page <= 2 and idx - data.page > 0))}"><li><a href="./logs?page=${ idx}&size=${data.size}&begin=${param.begin}&end=${param.end}&type=${param.type}&pname=${param.pname}"> ${ idx + 1}</a></li></c:when><c:when test="${(data.page <= 1) and (status.count <= 5)}"><li><a href="./logs?page=${ idx}&size=${data.size}&begin=${param.begin}&end=${param.end}&type=${param.type}&pname=${param.pname}"> ${ idx + 1}</a></li></c:when><c:when test="${(data.page + 2 >= sessionScope.pageCount) and (sessionScope.pageCount - idx <= 6)}"><li><a href="./logs?page=${ idx}&size=${data.size}&begin=${param.begin}&end=${param.end}&type=${param.type}&pname=${param.pname}"> ${ idx + 1}</a></li></c:when></c:choose></c:forEach>       </c:otherwise></c:choose><c:if test="${data.page < (pageCount - 1) }"><li><a href="./logs?page=${ data.page + 1}&size=${data.size}&begin=${param.begin}&end=${param.end}&type=${param.type}&pname=${param.pname}">下一页</a></li></c:if></ul></div><div id="right">第 ${data.page + 1}/${sessionScope.pageCount}页 每页<select class="selectpicker dropup span1" id="log_change_size" data-size="false"><option ${data.size == 25 ? 'selected=\"selected\"' : '' } value="25">  25 </option><option ${data.size == 50 ? 'selected=\"selected\"' : '' } value="50">  50 </option><option ${data.size == 75 ? 'selected=\"selected\"' : '' } value="75">  75 </option><option ${data.size == 100 ? 'selected=\"selected\"' : '' } value="100">  100 </option><option ${data.size == 125 ? 'selected=\"selected\"' : '' } value="125">  125 </option><option ${data.size == 150 ? 'selected=\"selected\"' : '' } value="150">  150 </option></select> 条记录    跳转到第 <select class="selectpicker dropup span1" id="log_change_page" data-size="false"><c:forEach var="idx" begin="1" end="${(data.count % data.size == 0) ? (data.count / data.size) : (data.count / data.size + 1) }" varStatus="status"><option ${idx - 1 == data.page ? 'selected=\"selected\"' : '' } value="${idx - 1}"> ${idx}</option></c:forEach></select> 页</div><div style="clear:both"></div></c:if>

原创粉丝点击