今天我的小博客项目写完了,心情挺好,发表篇 java web开发的 分页组件使用技巧吧,在这里面, 我不想 啰嗦,直接 我把我的使用方式 写了出来,希望 给 我们为 java 分页 节省更多的时间做更多的事...
1 ·
先 去 这里下载 displaytag-1.2-bin.zip 包;
http://sourceforge.net/projects/displaytag/files/display%20tag%20library/1.2/
2 ·
先 停止 apache-tomcat-6.x 服务器,之后当然是把 displaytag-1.2-bin.zip 包解压啦;
3 ·
从里面找到 有一个名字 为 displaytag-examples-1.2.war 的项目包, 把这个文件 直接 放在 apache-tomcat-6.x 的 webapps 下;
4 ·
之后运行 apache-tomcat-6.x 服务器, 在 回到 apache-tomcat-6.x\webapps\ 目录下,你会看见 你刚才 放进去的那个
war 文件包已
经被解压了, 之后打开它 ,在 WEB-INF\lib 文件夹中 找到如下的几个 jar 包:
|- commons-beanutils-1.7.0.jar
经被解压了, 之后打开它 ,在 WEB-INF\lib 文件夹中 找到如下的几个 jar 包:
|- commons-beanutils-1.7.0.jar
|-
commons-collections-3.1.jar
|-
commons-lang-2.3.jar
|- commons-logging-1.1.1.jar --> (这个包里如果里面没有,自己可以去从网上或什么地方 下载一个 )
|- itext-1.3.jar
|- log4j-1.2.13.jar
|- commons-logging-1.1.1.jar --> (这个包里如果里面没有,自己可以去从网上或什么地方 下载一个 )
|- itext-1.3.jar
|- log4j-1.2.13.jar
|-
displaytag-1.2.jar
5 ·
把这几个 jar 包 添加到你的项目 WEB-INF/lib 中去;
6 ·
接下来就是 在你的 分页jsp 中 引入 下面这个 指令标签
<
%@ taglib
uri
="http://displaytag.sf.net"
prefix
="display" %
>
7 ·
引用一个 displaytag 分页组件 特有的样式(并不是只有这一种样式,此处我就废话了,有兴趣自己看它的官方文档,文档是英文的)
<
style
type
="text/css"
media
="all"
>
@import url("/blog/admin/css/screen.css");
style>
@import url("/blog/admin/css/screen.css");
style>
8 ·
切入正题, 使用的时候需要注意 ,
该控件 获取的是一个集合
,例如 你的 servlet 处理文件 中保存了一个 集合 ,
你在页面使用的时候,只需要知道 request 或 session 中保存了得集合的名字即可,不需要任何操作,只需把 那集合的名字 作为参数 给控
件即可。下面是我的使用该控件总结部分,
绝对的省事,
你在页面使用的时候,只需要知道 request 或 session 中保存了得集合的名字即可,不需要任何操作,只需把 那集合的名字 作为参数 给控
件即可。下面是我的使用该控件总结部分,
绝对的省事,
绝对是 为 java 分页专门打造的,
绝对的 用着舒服,
绝对你看完我的这个笔记不后悔呢!
(在此处我需要强调一点,下面的代码全部针对于 displaytag组件的,不相关的代码统统省略了...)
例如:
/******************************************/
/* 我现在有一个 CommentServlet.java 文件 */
/******************************************
/* 我现在有一个 CommentServlet.java 文件 */
/******************************************
List list = (List) qr.query(sql,
new BeanListHandler(Comment.
class));
request.setAttribute( "list", list);
request.getRequestDispatcher( "/admin/adminCommentList.jsp").forward(request, response);
request.setAttribute( "list", list);
request.getRequestDispatcher( "/admin/adminCommentList.jsp").forward(request, response);
/********************************************/
/* 我的 jsp页面 adminCommentList.jsp 文件 */
/* 我的 jsp页面 adminCommentList.jsp 文件 */
/********************************************/
<
%@ page
language
="java"
contentType
="text/html; charset=UTF-8"
pageEncoding
="UTF-8"%
>
<! -- 此处是引入的 该组件的标签库 -- >
< %@ taglib uri ="http://displaytag.sf.net" prefix ="display" % >
<! -- 页面 头部分 (自己定义) -- >
< %@include file ="header.jsp" % >
<! -- 引入 displaytag 分页组件 样式 -- >
< style type ="text/css" media ="all" >
@import url("/blog/admin/css/screen.css");
style>
<! -- 使用 displaytag-1.2 分页组件 -- >
< display:table name ="list" class ="its" pagesize ="5" requestURI ="/servlet/CommentServlet?mehtod=list" id ="c" >
< display:column property ="id" title ="编号" sortable ="true" > display:column>
< display:column property ="username" title ="评论人" sortable ="true" > display:column>
< display:column property ="content" title ="内容" > display:column>
< display:column property ="createdTime" title ="时间" sortable ="true" format ="{0,date,yyy-MM-dd}" > display:column>
< display:column title ="操作" >
< a href ="/blog/servlet/CommentServlet?method=edit&id=${c.id }" > < img src ="/blog/admin/p_w_picpaths/edit.gif" border ="0" alt ="编辑" > a> |
< a href ="javascript:if(confirm('确实要删除吗?')) location='/blog/servlet/CommentServlet?method=delete&id=${c.id }'" > < img src ="/blog/admin/p_w_picpaths/delete.gif" border ="0" alt ="删除" > a>
display:column>
display:table>
<! -- 页面 角部分 (自己定义) -- >
< %@include file ="footer.jsp" % >
<! -- 此处是引入的 该组件的标签库 -- >
< %@ taglib uri ="http://displaytag.sf.net" prefix ="display" % >
<! -- 页面 头部分 (自己定义) -- >
< %@include file ="header.jsp" % >
<! -- 引入 displaytag 分页组件 样式 -- >
< style type ="text/css" media ="all" >
@import url("/blog/admin/css/screen.css");
style>
<! -- 使用 displaytag-1.2 分页组件 -- >
< display:table name ="list" class ="its" pagesize ="5" requestURI ="/servlet/CommentServlet?mehtod=list" id ="c" >
< display:column property ="id" title ="编号" sortable ="true" > display:column>
< display:column property ="username" title ="评论人" sortable ="true" > display:column>
< display:column property ="content" title ="内容" > display:column>
< display:column property ="createdTime" title ="时间" sortable ="true" format ="{0,date,yyy-MM-dd}" > display:column>
< display:column title ="操作" >
< a href ="/blog/servlet/CommentServlet?method=edit&id=${c.id }" > < img src ="/blog/admin/p_w_picpaths/edit.gif" border ="0" alt ="编辑" > a> |
< a href ="javascript:if(confirm('确实要删除吗?')) location='/blog/servlet/CommentServlet?method=delete&id=${c.id }'" > < img src ="/blog/admin/p_w_picpaths/delete.gif" border ="0" alt ="删除" > a>
display:column>
display:table>
<! -- 页面 角部分 (自己定义) -- >
< %@include file ="footer.jsp" % >
9 ·
尾声了,最后我对 里面的几个重要属性 做一点介绍吧,你们只需要知道他们是 干什么的就行了,用的时候达到效果即可。
主标签
集合名字
组件样式
分页条数
从那个 Servlet 获取的 控件对象名
< display:table
name="list"
class="its"
pagesize="5"
requestURI="/servlet/CommentServlet? mehtod=list"
id="c">
控件列标签
绑定字段
显示表头
启用排序
< display:column
property="id"
title="编号"
sortable="true"
>
display:column>
控件列标签
>
display:column>
控件列标签
绑定字段
显示表头
启用排序
时间字段格式化
<
display:column
property="createdTime"
title="时间"
sortable="true"
property="createdTime"
title="时间"
sortable="true"
format="{0,date,yyy-MM-dd}"
>
display:column>
控件列标签 自定义列
< display:column title ="操作" >
在这里面可以 做一些 你自己想要的操作,我的这里面现在 的操作时 一个图片链接 转到 servlet 作处理的操作
< a href ="/blog/servlet/CommentServlet?method=edit&id=${c.id }" > < img src ="/blog/admin/p_w_picpaths/edit.gif" border ="0" alt ="编辑" > a>
display:column>
>
display:column>
控件列标签 自定义列
< display:column title ="操作" >
在这里面可以 做一些 你自己想要的操作,我的这里面现在 的操作时 一个图片链接 转到 servlet 作处理的操作
< a href ="/blog/servlet/CommentServlet?method=edit&id=${c.id }" > < img src ="/blog/admin/p_w_picpaths/edit.gif" border ="0" alt ="编辑" > a>
display:column>
10 ·
国际化 配置文件设置 displaytag_zh_CN.properties
paging.banner.placement=bottom
paging.banner.items_name=\u6761\u8BB0\u5F55
paging.banner.no_items_found=\u6CA1\u6709 {0} \u627E\u5230.
#paging.banner.one_item_found=
paging.banner.all_items_found={0} {1} \u627E\u5230, \u663E\u793A {2}.
paging.banner.some_items_found={0} {1} \u663E\u793A , \u627E\u5230 {2} \u5230 {3} \u6761\u8BB0\u5F55.
paging.banner.full=[\u9996\u9875/\u4E0A\u4E00\u9875] {0} [\u4E0B\u4E00\u9875/\u672B\u9875]
paging.banner.first=[\u9996\u9875/\u4E0A\u4E00\u9875] {0} [\u4E0B\u4E00\u9875/\u672B\u9875]
paging.banner.last=[\u9996\u9875/\u4E0A\u4E00\u9875] {0} [\u4E0B\u4E00\u9875/\u672B\u9875]
paging.banner.onepage={0}
paging.banner.page.selected={0}
paging.banner.page.link={0}
paging.banner.page.separator=,
paging.banner.items_name=\u6761\u8BB0\u5F55
paging.banner.no_items_found=\u6CA1\u6709 {0} \u627E\u5230.
#paging.banner.one_item_found=
paging.banner.all_items_found={0} {1} \u627E\u5230, \u663E\u793A {2}.
paging.banner.some_items_found={0} {1} \u663E\u793A , \u627E\u5230 {2} \u5230 {3} \u6761\u8BB0\u5F55.
paging.banner.full=[\u9996\u9875/\u4E0A\u4E00\u9875] {0} [\u4E0B\u4E00\u9875/\u672B\u9875]
paging.banner.first=[\u9996\u9875/\u4E0A\u4E00\u9875] {0} [\u4E0B\u4E00\u9875/\u672B\u9875]
paging.banner.last=[\u9996\u9875/\u4E0A\u4E00\u9875] {0} [\u4E0B\u4E00\u9875/\u672B\u9875]
paging.banner.onepage={0}
paging.banner.page.selected={0}
paging.banner.page.link={0}
paging.banner.page.separator=,
11 ·
部分重要属性 介绍完毕 , 我写的已经很明白了, 而且 简洁 ,
如果你 从头到文认真的看下来, 恭喜你,你 得到了一个如此强大的 分页。
还在等什么呢,赶紧 “ 顶 ” 起来。 ^-^
如果你 从头到文认真的看下来, 恭喜你,你 得到了一个如此强大的 分页。
还在等什么呢,赶紧 “ 顶 ” 起来。 ^-^