Dev@Free

zJun's Tech Weblog

DisplayTag 1.1 Released,可分页读取数据!!!

DisplayTag一直以来为人们所诟病的缺点就是它的装载数据的方式: 一次性把所有数据读取到内存中,然后再分页显示。这样做的后果就是在处理大批量数据时力不从心,可用性急剧下降,并且在翻页显示的仅仅是内存中的数据而不是实时数据.因此人们往往只是在实现小型项目的小数量表格分页显示时才想到DisplayTag,并且因为考虑到项目的扩展往往最终弃用DiaplayTag.
但是发布于本月12日的1.1版本彻底解决了这个问题,新版的DisplayTag提供了两种方式实现部分装入数据:
(1)实现接口
org.displaytag.pagination.PaginatedList,用户可以实现这个接口用来代替以前传入DisplayTag的list对象,DisplayTag将认为分页和排序的动作已经由外部动作执行了,而不会使用 原来的分页方式(即全部读入内存).但是这样用户需要自己编写分页和排序代码;
(2)设置相应参数,告诉DisplayTag传入的数据集由外部分页和排序,而不使用默认的方式.比如:

<display:table name="testList" sort="external" defaultsort="1" pagesize="20" id="element" partialList="true" size="resultSize">

其中:
sort="external"  告诉DisplayTag传入的数据集已经由外部程序排好序了..
defaultsort="1" 说明默认是升序(Descending is 2, Ascending is 1);
partialList="true" 说明部分装入数据;
pagesize="20" 每页显示记录数;
size="resultSize" 显示记录的总条数(此参数结合PageSize,使得表格在只拿到某一页的完整数据的同时,可以知道会有多少页,并将其他的页数也列举出来,当用户实际翻页时才去获取当页数据);

关于以上翻页范例的详细内容可以查看发布包文档中的
External paging/sorting 一节。

posted on 2006-02-27 20:21 zJun's帛罗阁 阅读(14091) 评论(13)  编辑  收藏

评论

# re: DisplayTag 1.1 Released,可分页读取数据!!! 2006-02-28 13:59 lizongbo

我用的 partialList="true" size="resultSize" 这种方式,

发现显示记录索引位置还有bug。

比如翻到第二页了,依然显示的

999 item found, show 1 to 15 item . 。

而正确的应该显示 999 item found, show 31 to 45 item . 。(假设每页数据量30)

  回复  更多评论   

# re: DisplayTag 1.1 Released,可分页读取数据!!! 2006-03-04 16:25 jeffsang

分页导航中的页码变量名怎么不是确定的?  回复  更多评论   

# re: DisplayTag 1.1 Released,可分页读取数据!!! 2006-08-03 08:56 youqiangw

不太明白哦,能否给个例子呀。
youqiangw@21cn.com  回复  更多评论   

# re: DisplayTag 1.1 Released,可分页读取数据!!! 2006-08-03 10:16 youqiangw

相应的dao方法该怎么些,能够给个例子  回复  更多评论   

# re: DisplayTag 1.1 Released,可分页读取数据!!! 2006-12-01 20:01 mm

如果DisplayTag 的记录数为30我只显示前12笔其他的都不显示,不做分页效果,谁能告诉一下,谢谢。  回复  更多评论   

# re: DisplayTag 1.1 Released,可分页读取数据!!! 2007-01-12 18:21 zJun's帛罗阁

@mm

<h3>前12笔记录</h3>

<display:table name="test" length="12">
<display:column property="id" title="ID" />
<display:column property="email" />
<display:column property="status" />
</display:table>

可以看看displaytag的例子:http://displaytag.homeip.net/displaytag-examples-1.1/example-subsets.jsp  回复  更多评论   

# re: DisplayTag 1.1 Released,可分页读取数据!!! 2007-09-14 16:40 飘雪的天堂

你好:
看了你的文档介绍,对1.1的用法有了一些了解。
不过,在实际的操作过程中,遇见一些问题,还望你能帮我看看,问题出在哪了。
按照网上介绍的方法,我下载了官网的jar包和tld文件,并把jar包放在了lib下面,tld文件放在了web-inf下面,但是在运行的时候却报如下错误:
/servDomeListVpnTest.jsp(7): Error in using tag library uri='/WEB-INF/displaytag.tld' prefix='display': The Tag class 'org.displaytag.tags.TableTag' has no setter method corresponding to TLD declared attribute 'requestURIcontext', (JSP 1.1 spec, 5.4.1)
probably occurred due to an error in /servDomeListVpnTest.jsp line 7:
<%@ taglib uri="/WEB-INF/displaytag.tld" prefix="display" %>
我用的是weblogic.
  回复  更多评论   

# re: DisplayTag 1.1 Released,可分页读取数据!!! 2007-09-17 15:42 同声传译

从事各专业翻译服务,包括笔译、口译、同声传译和同声传译设备租赁等。同时我们长期需要招聘兼职翻译、同传译员和外籍英文校对人员。
希望有机会合作.
E-mail:bjctn@vip.sina.com
  回复  更多评论   

# re: DisplayTag 1.1 Released,可分页读取数据!!! 2007-10-02 16:54 fenix

想问一下楼主,你是不是弃用displayTag改用eXtremeComponents了?
看你最新的文章都是关于eXtremeComponents的,我现在在选开源的列表显示组件,不知道用哪个好,能推荐下么?  回复  更多评论   

# 请问你用的是哪个版本的tld[未登录] 2008-02-29 18:00 佳佳

你好,请问你用的tld是哪个版本的,我用的displaytag-11.tld,table连属性partialList和size都没有,不知道该怎么来实现数据库分页,你能不能给个例子看看呢,我的邮箱是chenjia66804610@126.com
非常感谢你的帮助  回复  更多评论   

# re: DisplayTag 1.1 Released,可分页读取数据!!! 2008-02-29 20:18 zJun's帛罗阁

@佳佳
你好,我是用的displaytag1.1,应该有这两个属性的,或者你重新下载个displaytag的包看下:
<attribute>
<name>partialList</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<type>boolean</type>
<description>enable/disable partialLists. Valid values are true or false</description>
</attribute>
<attribute>
<name>size</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<description>
Used only when partialList=true. Reference to the Integer object containing the size of the total dataset. Can
be an expression like requestScope.object.property. In the EL version of the taglibrary this must be an EL
expression which points to the source object.
</description>
</attribute>  回复  更多评论   

# re: DisplayTag 1.1 Released,可分页读取数据!!! 2008-02-29 20:20 zJun's帛罗阁

@fenix
就灵活性和可扩展性来说,eXtremeComponents更好一些。  回复  更多评论   

# re: DisplayTag 1.1 Released,可分页读取数据!!![未登录] 2008-07-11 22:53 navy

太少了,请问到某一页操作后(对数据库)还回到操作页。  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

导航

<2008年2月>
272829303112
3456789
10111213141516
17181920212223
2425262728291
2345678

统计

常用链接

留言簿(15)

随笔分类

随笔档案

相册

收藏夹

博客

文档

站点

论坛

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜