zoukankan      html  css  js  c++  java
  • 分页标签:pager-taglib使用指南

    一简介, 
    Pager-taglib,支持多种风格的分页显示。实际上她是一个Jsp标签库,为在JSP上显示分页信息而设计的一套标签,通过这些标签的不同的组合,会形成多种不一样的分页页面,风格各异,她自带的DEMO就有七种左右的分页风格,包括Google的分页风格。而需要订制自已的风格的分页页面也非常简单。 

    下面我先简单说一下长用到的标签的作用吧: 

    pg:pager【这个标签用来设置分页的总体参数】重要参数说明: 
    url:分页的链接根地址,pager标签会在这个链接的基础上附加分页参数 
    items:总记录数,pager标签正是根据这个值来计算分页参数的 
    maxPageItems:每页显示的行数,默认为10 
    maxIndexPages:在循环输出页码的时候,最大输出多少个页码,默认是10 
    
    pg:first【第一页的标签】重要参数说明: 
    export变量的意义: 
    pageUrl - 分页链接URL地址(最重要的export参数) 
    pageNumber - 页码 
    firstItem - 首页第一行的索引值 
    lastItem - 首页最后一行的索引值 
    
    pg:pre【上一页标签】重要参数说明: 
    export变量的意义: 
    pageUrl - 分页链接URL地址(最重要的export参数) 
    pageNumber - 页码 
    firstItem - 前页第一行的索引值 
    lastItem - 前页最后一行的索引值 
    
    pg:next【下一页标签】重要参数说明: 
    export变量的意义: 
    pageUrl - 分页链接URL地址(最重要的export参数) 
    pageNumber - 页码 
    firstItem - 下页第一行的索引值 
    lastItem - 下页最后一行的索引值 
    
    pg:last重要参数说明: 
    export变量的意义: 
    pageUrl - 分页链接URL地址(最重要的export参数) 
    pageNumber - 页码 
    firstItem - 尾页第一行的索引值 
    lastItem - 尾页最后一行的索引值 
    
    pg:pages【这个标签用来循环输出页码信息】重要参数说明: 
    export变量的意义: 
    pageUrl - 分页链接URL地址(最重要的export参数) 
    pageNumber - 页码 
    firstItem - pageNumber这个页码指定的那一页的第一行的索引值 
    lastItem - pageNumber这个页码指定的那一页的最后一行的索引值 

    分页方式有两种: 
    一种是从Action中得到一个List,在页面上通过<pg:item>进行自动分页。 
    第二种是通过把 pageSize,pageNo两参数传给后台进行数据库分页。 

    我做两个Demo加以说明对比: 

    二、准备 
    把pager-taglib.jar放到lib目录下(仅此足亦,完全没必要改web.xml什么的,还有官方war包中的东西都可以不要) 

    <%@ taglib uri="http://jsptags.com/tags/navigation/pager" prefix="pg" %>  
    

    三,jsp (第一种分页方案由<pg:item>自行分页 )

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>   
    <%@ taglib uri="/WEB-INF/tld/c.tld" prefix="c"%>   
    <%@ taglib uri="http://jsptags.com/tags/navigation/pager" prefix="pg" %>   
    <html>   
    <head></head>   
    <body>   
    <pg:pager    
    url="/PageAction.do"    
    index="half-full"  
    maxPageItems = "3"    
        maxIndexPages="5"    
    isOffset = "<%=false%>"    
        export = "pageOffset,currentPageNumber=pageNumber"    
        scope = "request">   
           
     <table>     
        <c:forEach items="${userlist}" var="user">   
        <pg:item>   
         <tr>   
          <td height="39">${user.userId}</td>   
          <td height="39">${user.username}</td>   
          <td height="39">${user.password}</td>   
         </tr>        
        </pg:item>   
    </c:forEach>   
    </table>     
      <pg:index>   
        <center>   
        <table border=0 cellpadding=0 width=10% cellspacing=0>   
        <tr align=center valign=top>   
        <td valign=bottom><font face=arial,sans-serif   
          size=-1>Result Page: </font></td>   
        <pg:prev ifnull="true">   
          <% if (pageUrl != null) { %>   
            <td align=right><A HREF="<%= pageUrl %>"><IMG   
              SRC=http://www.google.com/nav_previous.gif alt="" border=0><br>   
            <b>Previous</b></A></td>   
          <% } else { %>   
            <td><IMG SRC=http://www.google.com/nav_first.gif alt="" border=0></td>   
          <% } %>   
        </pg:prev>   
        <pg:pages>   
          <% if (pageNumber == currentPageNumber) { %>   
            <td><IMG SRC=http://www.google.com/nav_current.gif alt=""><br>   
            <font color=#