使用步骤:
1、导入pager-taglib.jar这个包;
2、在jsp的页面上引入这个标签库;
<pre name="code" class="java"><%@taglib prefix="pg" uri="http://jsptags.com/tags/navigation/pager" %>
3、相关标签的介绍:
pg:pager 【用来设置分页的总体参数】
url:分页的链接根地址,pager标签会在这个链接的基础上附加分页参数
items:总记录数,pager标签正是根据这个值来计算分页参数的
maxPageItems:每页显示的行数,默认为10
maxIndexPages:在循环输出页码的时候,最大输出多少个页码,默认是10
pg:first 【第一页的标签】export参数(相当于直接使用的变量):
pageUrl:分页链接URL地址(最重要的)
pageNumber:页码
firstItem:首页第一行的索引值
lastItem:首页最后一行的索引值
pg:pre 【上一页标签】export参数(相当于直接使用的变量):
pageUrl:分页链接URL地址
pageNumber:页码
firstItem:前页页第一行的索引值
lastItem:前页最后一行的索引值
pg:next 【下一页标签】export参数(相当于直接使用的变量):
pageUrl:分页链接URL地址
pageNumber:页码
firstItem:下页页第一行的索引值
lastItem:下页最后一行的索引值
pg:last 【最后一页标签】export参数(相当于直接使用的变量):
pageUrl:分页链接URL地址
pageNumber:页码
firstItem:尾页页第一行的索引值
lastItem:尾页最后一行的索引值
pa:param 用于设置传递参数的标签
pg:pages 可用于循环输出页码数
4、下面是具体的代码封装实现:
pager.jsp:
<pg:pager maxPageItems="10" items="${param.items }" export="curPage=pageNumber" url="${param.url }">
<c:forEach items="${param.params }" var="p">
<pg:param name="${p }" />
</c:forEach>
<pg:last>
共${items }记录,共${pageNumber }页,
</pg:last>
当前第${curPage }页
<pg:first>
<a href="${pageUrl }">首页</a>
</pg:first>
<pg:prev>
<a href="${pageUrl }">上一页</a>
</pg:prev>
<pg:pages>
<c:if test="${curPage eq pageNumber }">
[${pageNumber }]
</c:if>
<c:if test="${curPage ne pageNumber }">
<a href="${pageUrl }">${pageNumber }</a>
</c:if>
</pg:pages>
<pg:next>
<a href="${pageUrl }">下一页</a>
</pg:next>
<pg:last>
<a href="${pageUrl }">尾页</a>
</pg:last>
</pg:pager>
在需要使用分页的页面引入这个页面,并且传递相关的参数:
<jsp:include page="pager.jsp">
<jsp:param value="user_list.jsp" name="url"/>
<jsp:param value="<%=pagers.getTotalRecord %>" name="items"/>
<jsp:param value="method,other" name="params"/>
</jsp:include>
url参数:点击分页的页码时候,跳转的地址
items参数:也就是数据的总的个数
params参数:向分页传递的第一页的URL中的参数的名称,只要把这个参数名称传递过去就会自动在点击另外页码的时候带上这个参数;比如,在基于SpringMvc实现servlet的时候,每当访问servlet的一个方法的时候就会带上一个参数:method=list,也就是/servletName?method=***,这个路径代表实际的URL,所以再设置pager的url这个参数的时候,必须加上method这个参数,此时就可以使用如下的方式进行传递这个参数,如果有多个参数,可以直接使用逗号分开
<c:forEach items="${param.params }" var="p">
<pg:param name="${p }" />
</c:forEach>
<pg:param name="p1" value="pi" />
在使用的时候不需要为这个参数赋值,正常的使用应该是<pg:param name="p1" value="pi" />,会带上一个value,但是如果是本来的url中就有的参数名称,就不需要赋值;
</pre>注意事项:<p><span style="white-space:pre"><span style="font-family:Arial; font-size:14px; line-height:25.984375px">pa:param 用于设置传递参数的标签:如上所述</span></span></p><p><span style="white-space:pre"><span style="font-family:Arial; font-size:14px; line-height:25.984375px"></span></span></p><p><span style="white-space:pre"><span style="font-family:Arial; font-size:14px; line-height:25.984375px"><img src="https://img-blog.csdn.net/20150114135123532?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWFuZmVuZzkxOA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /></span></span></p><p><span style="font-family:Arial;"><span style="font-size: 14px; line-height: 25.984375px; white-space: pre;">总结:注意的最终要的就是,1.懂得分页的前台和后台实现的原理和过程;2.在使用分页框架的时候,<strong><span style="color:#ff0000;">注意<span style="font-family: Arial; font-size: 14px; line-height: 25.984375px;">export参数(相当于直接使用的变量),</span></span></strong></span></span><span style="background-color: rgb(240, 240, 240);"><pg:pager maxPageItems="10" items="${param.items }" export="curPage=pageNumber" url="${param.url }"> </span></p><pre code_snippet_id="474347" snippet_file_name="blog_20140924_4_4042153" name="code" class="java">
3. <pg:last>
共<%=items %>记录,共<%=pageNumber %>页,
</pg:last> 可以显示一共有多少页,可以利用这个标签的导出变量属性;