日期:2014-05-16  浏览次数:20373 次

jsp page-taglib.jar使用

2009-06-30 13:58
1: 我们需要下载page标签的jar包; pager-taglib.jar
   [样例代码]: http://jsptags.com/tags/navigation/pager/pager-taglib-2.0.war

               解压war文件 在{..}\WEB-INF\lib\pager-taglib.jar

2:把这个jar 拷贝到你的web工程的lib中;


3: 3-1 该标签需要我们提供1个最关键的参数 ---》 总数据量 select count(*)的值
   3-2 每页显示的记录数
   3-3 页码的个数
   3-4 你的这个应用的url
   3-5 如果你的这个应用有参数的场合 你需要设置url的参数


4:默认的场合查询数据库的开始索引 的参数名称为pager.offset

5:
   后台的处理

   后台的action中 在request.getParameter("pager.offset"); 里得到查询数据库的开始索引
   并计算查询的总数据量并将计算的结果保存在requset.setAttribute('totalpage');
   把相关的查询结果设置到requset.setAttribute('xxlist');

6: 前台处理

   在相应jsp页面上添加 <%@ taglib uri="http://jsptags.com/tags/navigation/pager" prefix="pg" %>

   取得count(*)的值
    <%
        Integer totalPage = (Integer)request.getAttribute("totalPage");
    %>
   <pg:pager
             items="<%=totalPage%>" ----》count(*)值
             index="center"         (忽略)
             maxPageItems="5"       每页显示的多少行数据 这个参数和我们hibernate中 maxResult 是一致的
     maxIndexPages="10"     显示的最大页码
     isOffset="<%= true %>" (忽略)
     export="offset,currentPageNumber=pageNumber" (忽略)
     scope="request"        (忽略)
             url="stdM.do">         你的具体业务的url(忽略)

          
             <pg:param name="method" value="list"/> url 固定的参数设置可以有多个



             数据的迭代

<c:forEach items="${stdList}" var="std">
<tr>
<td>${std.id}</td>
<td>${std.name}</td>
<td>${std.classes.name}</td>
<tr>
</c:forEach>

              如何显示页码的程序
            
<pg:index> 页码的标签
<pg:prev export="pageUrl" ifnull="<%= true %>">            前一页的标签
<% if (pageUrl != null) { %>                             第一页的时候没有上一页的判断
   <a href="<%= pageUrl %>">[上一页]</a>
<% } %>
</pg:prev>

<pg:pages> 
<% if (pageNumber == currentPageNumber) { %>             判断那个是当前页 当前页没有连接并变颜色
    <font color=#A90A08><%= pageNumber %></font>
<% } else { %>
    <a href="<%= pageUrl %>"><%= pageNumber %></a>
<% } %>
</pg:pages>

<pg:next export="pageUrl" ifnull="<%= true %>">           下一页的标签
<% if (pag