<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>WinLive</title>
    <description></description>
    <link>http://winlive.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>pager-taglib的安装和使用</title>
        <author>WinLive</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://winlive.javaeye.com">WinLive</a>&nbsp;
          链接：<a href="http://winlive.javaeye.com/blog/86330" style="color:red;">http://winlive.javaeye.com/blog/86330</a>&nbsp;
          发表时间: 2007年06月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          第一次写东西，如果写的不好，望大家见谅吧<br />当然也希望大家给于支持，呵呵<br /><br />pager-taglib绝对是个好东西，可以方便的帮我们完成分页的功能，当然大家不要担心他的效率，它支持每次从数据库中只取出要显示的数据（呵呵，这点很关键噢），这样可以减少数据库的压力。<br /><br />好了，该说一下怎么用了：<br />1、拷贝pager-taglib.jar包<br />2、在JSP页面中使用taglib指令引入pager-taglib标签库<br />3、使用pager-taglib标签库进行分页处理<br /><br />下面我先简单说一下长用到的标签的作用吧：<br />pg:pager【这个标签用来设置分页的总体参数】重要参数说明：<br />	url:分页的链接根地址，pager标签会在这个链接的基础上附加分页参数<br />	items:总记录数，pager标签正是根据这个值来计算分页参数的<br />	maxPageItems:每页显示的行数，默认为10<br />	maxIndexPages:在循环输出页码的时候，最大输出多少个页码，默认是10<br />	<br />pg:first【第一页的标签】重要参数说明：<br />	export变量的意义：<br />	pageUrl - 分页链接URL地址（最重要的export参数）<br />	pageNumber - 页码<br />	firstItem - 首页第一行的索引值<br />	lastItem - 首页最后一行的索引值<br />	<br />pg:pre【上一页标签】重要参数说明：<br />	export变量的意义：<br />	pageUrl - 分页链接URL地址（最重要的export参数）<br />	pageNumber - 页码<br />	firstItem - 前页第一行的索引值<br />	lastItem - 前页最后一行的索引值<br /><br />pg:next【下一页标签】重要参数说明：<br />	export变量的意义：<br />	pageUrl - 分页链接URL地址（最重要的export参数）<br />	pageNumber - 页码<br />	firstItem - 下页第一行的索引值<br />	lastItem - 下页最后一行的索引值<br />	<br />pg:last重要参数说明：<br />	export变量的意义：<br />	pageUrl - 分页链接URL地址（最重要的export参数）<br />	pageNumber - 页码<br />	firstItem - 尾页第一行的索引值<br />	lastItem - 尾页最后一行的索引值<br />	<br />pg:pages【这个标签用来循环输出页码信息】重要参数说明：<br />	export变量的意义：<br />	pageUrl - 分页链接URL地址（最重要的export参数）<br />	pageNumber - 页码<br />	firstItem - pageNumber这个页码指定的那一页的第一行的索引值<br />	lastItem - pageNumber这个页码指定的那一页的最后一行的索引值<br /><br />有了这些理论上的知识，我们现在一起来做一个demo：<br />1.建立一个类：（因为我们需要给pager-taglib两个参数，一个是记录总数INT，一个是要显示的数据LIST）<br />import java.util.List;<br /><br />/**<br /> * 分页模型<br /> * @author WinLive<br /> *<br /> */<br />public class PagerModel {<br />	<br />	//总记录数<br />	private int total;<br />	<br />	//当前页的结果集<br />	private List datas;<br />	<br />	public List getDatas() {<br />		return datas;<br />	}<br />	public void setDatas(List datas) {<br />		this.datas = datas;<br />	}<br />	public int getTotal() {<br />		return total;<br />	}<br />	public void setTotal(int total) {<br />		this.total = total;<br />	}<br />}<br /><br />2.新建一个JSP，显示我们做的分页数据<br /><br />&lt;%@ taglib uri="http://jsptags.com/tags/navigation/pager" prefix="pg"%><br />&lt;%@ taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core" %><br />&lt;%@ taglib prefix="fmt"  uri="http://java.sun.com/jsp/jstl/fmt" %><br /><br />  &lt;!-- 列表数据栏 --><br /> &lt;c:if test="${!empty pm.datas}"><br />&lt;!-- 这里就是要显示的数据了 --><br />&lt;/c:if><br />        &lt;!-- 在列表数据为空的时候，要显示的提示信息 --><br />	    &lt;c:if test="${empty pm.datas}"><br />	    &lt;tr><br />	    	&lt;td colspan="7" ><br />	    	没有找到相应的记录<br />	    	&lt;/td><br />	    &lt;/tr><br />	    &lt;/c:if>	<br /><br />	&lt;TABLE width="778" border=0 align=center cellPadding=0 cellSpacing=0 borderColor=#ffffff style="FONT-SIZE: 10pt"><br />	        &lt;TBODY><br />	          &lt;TR><br />	            &lt;TD height=28 align=center vAlign=center noWrap ><br />	            &lt;!-- 可以在这里插入分页导航条 --><br />	&lt;pg:pager url="index.jsp" items="${pm.total }" export="currentPageNumber=pageNumber"><br />		&lt;pg:first>&lt;a href="${pageUrl}">首页&lt;/a>&lt;/pg:first><br />		&lt;pg:prev>&lt;a href="${pageUrl}">前页&lt;/a>&lt;/pg:prev><br />		&lt;pg:pages><br />			&lt;c:choose><br />			&lt;c:when test="${pageNumber eq currentPageNumber }"><br />			&lt;font color="red">${pageNumber }&lt;/font><br />			&lt;/c:when><br />			&lt;c:otherwise><br />			&lt;a href="${pageUrl }">${pageNumber}&lt;/a><br />			&lt;/c:otherwise><br />			&lt;/c:choose><br />		&lt;/pg:pages><br />		&lt;pg:next>&lt;a href="${pageUrl}">下页&lt;/a>&lt;/pg:next><br />		&lt;pg:last>&lt;a href="${pageUrl}">尾页&lt;/a>&lt;/pg:last><br />	&lt;/pg:pager><br />   		&lt;/TD><br />         &lt;/TR><br />       &lt;/TBODY><br />     &lt;/TABLE>
          <br/>
          <span style="color:red;">
            <a href="http://winlive.javaeye.com/blog/86330#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 03 Jun 2007 15:07:13 +0800</pubDate>
        <link>http://winlive.javaeye.com/blog/86330</link>
        <guid>http://winlive.javaeye.com/blog/86330</guid>
      </item>
  </channel>
</rss>