tag文件实现分页

来源:互联网 发布:罗开元淘宝店 编辑:程序博客网 时间:2024/06/06 05:06

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"/>

0 0
原创粉丝点击