pagertaglib分页处理的使用文档格式.docx
《pagertaglib分页处理的使用文档格式.docx》由会员分享,可在线阅读,更多相关《pagertaglib分页处理的使用文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
每页显示的行数,默认为10
maxIndexPages:
在循环输出页码的时候,最大输出多少个页码,默认是10
pg:
first第一页的标签
pre上一页标签
next下一页标签
last最后一页标签
pages循环输出页码信息
对于上面的标签都有类似的export变量:
pageUrl-分页链接URL地址(最重要的export参数)
pageNumber-页码
firstItem–对应页第一行的索引值
lastItem-对应页最后一行的索引值
三、项目中使用pager-taglib:
1、引入对应的标签库:
[html]
viewplaincopy
1.<
span
style="
font-size:
18px"
>
<
%@taglibprefix="
pg"
uri="
2.
3.<
%@
taglib
prefix="
c"
%>
/span>
2、使用标签布置页面:
pager
url="
org.do"
items="
${pm.total}"
export="
currentPageNumber=pageNumber"
3.
paramnamepg:
paramname="
parentId"
/>
4.
5.
first>
6.
7.
ahrefahref="
${pageUrl}"
首页<
/a>
8.
9.
/pg:
10.
11.
prev>
12.
13.
${pageUrl
}"
前页<
14.
15.
16.
17.
pages>
18.
19.
c:
choose>
20.
21.
whentestc:
whentest="
${currentPageNumber
eq
pageNumber
22.
23.
fontcolorfontcolor="
red"
${pageNumber
}<
/font>
24.
25.
/c:
when>
26.
27.
otherwise>
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
next>
38.
39.
后页<
40.
41.
42.
43.
last>
44.
45.
尾页<
46.
47.
48.
49.<
pager>
需要注意的是:
很多时候,在不同的页面中跳转的时候,需要传递一个id,在保持这个数据的时候,不能直接跟在url后面,需要使用<
paramname="
来传递。
为了给当前页添加一些特殊的效果,使用currentPageNumber给pageNumber指定了一个别名,这是为了test="
${currentPageNumbereqpageNumber}判断的需要。
Items表示:
返回来的总记录数,由此,该框架采用的是假分页。
url:
指明了请求的入口地址,是与struts的配置文件struts-config.xml中的配置相关联。
3、设置offset和pagesize变量的值:
比较好的做法是在系统变量类中,将其设置到ThreadLocal变量中。
这里将其封装到了SystemContext类中:
[java]
public
class
SystemContext
{
privatestatic
ThreadLocal
offset
=
new
ThreadLocal();
pagesize
publicstatic
int
getOffset(){
Integeros
(Integer)offset.get();
if(os==
null){
return0;
}
returnos;
void
setOffset(int
offsetvalue){
offset.set(offsetvalue);
removeOffset(){
offset.remove();
getPagesize(){
Integerps
(Integer)pagesize.get();
if(ps==
returnInteger.MAX_VALUE;
returnps;
setPagesize(int
pagesizevalue){
49.
pagesize.set(pagesizevalue);
50.
51.
52.
53.
removePagesize(){
54.
55.
pagesize.remove();
56.
57.
58.
59.}<
4、定义分页过滤器PagerFilter:
该过滤器调用SystemContext类的方法,给offset和pagesize变量赋值。
publicclass
PagerFilter
implements
Filter
@Override
publicvoid
destroy()
doFilter(ServletRequest
request,
ServletResponseresponse,
FilterChain
chain)
throws
IOException,
ServletException{
HttpServletRequest
httpRequest
(HttpServletRequest)request;
SystemContext.setOffset(getOffset(httpRequest));
SystemContext.setPagesize(getPagesize(httpRequest));
23.