您的位置:首页 > 其它

tag文件实现分页

2016-04-30 22:00 369 查看
JSP文件顶部引用

<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>


tags文件是个目录,指向的可能是tld文件也可能是多个tag文件存在的目录,多个tag可以写在一个tld文件中,用<tag></tag>标识,也可以单独写在一个后缀名是tag的文件中。
 
下面我们讲一个写在tag文件中的例子

<%@tag pageEncoding="UTF-8" %>
<%@ attribute name="page" type="org.springframework.data.domain.Page" required="true" %>
<%@ attribute name="paginationSize" type="java.lang.Integer" required="true" %>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%
int current = page.getNumber() + 1;
int begin = Math.max(1, current - paginationSize / 2);
int end = Math.min(begin + (paginationSize - 1), page.getTotalPages());

request.setAttribute("current", current);
request.setAttribute("begin", begin);
request.setAttribute("end", end);
%>

<div class="pagination">
<ul>
<% if (page.hasPreviousPage()) {%>
<li><a href="?page=1&sortName=${sortName}&sortOrder=${sortOrder}&${searchParams}"><<</a></li>
<li><a href="?page=${current-1}&sortName=${sortName}&sortOrder=${sortOrder}&${searchParams}"><</a></li>
<%} else {%>
<li class="disabled"><a href="#"><<</a></li>
<li class="disabled"><a href="#"><</a></li>
<%} %>

<c:forEach var="i" begin="${begin}" end="${end}">
<c:choose>
<c:when test="${i == current}">
<li class="active"><a
href="?page=${i}&sortName=${sortName}&sortOrder=${sortOrder}&${searchParams}">${i}</a></li>
</c:when>
<c:otherwise>
<li><a href="?page=${i}&sortName=${sortName}&sortOrder=${sortOrder}&${searchParams}">${i}</a></li>
</c:otherwise>
</c:choose>
</c:forEach>

<% if (page.hasNextPage()) {%>
<li><a href="?page=${current+1}&sortName=${sortName}&sortOrder=${sortOrder}&${searchParams}">></a></li>
<li><a href="?page=${page.totalPages}&sortName=${sortName}&sortOrder=${sortOrder}&${searchParams}">>></a>
</li>
<%} else {%>
<li class="disabled"><a href="#">></a></li>
<li class="disabled"><a href="#">>></a></li>
<%} %>

</ul>
</div>


 
在页面中
<tags:pagination page="${users}" paginationSize="20"/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: