个人整理的display的一些特性

阅读更多
display学习笔记

1.遇到写入request中的集合,翻页的时候显示不了?解决:把加入requestURI="displayList.do"即可。

2.当无数据记录时,displaytag默认会输出 “Nothing found to display.”,而且没有表头。

修改displaytag.jar中的TableTag.properties文件的三处,就可以定制输出的消息和样式。
1) basic.empty.showtable=false 将属性设置为true,表头即可出现。
2)basic.msg.empty_list=Nothing found to display. 修改信息
3)basic.msg.empty_list_row=Nothing found to display. 既可以修改信息。

3.遇到中文输出的问题,可以自己修改TableTag.properties文件。

4. 导出数据

在display:table中添加export="true",看看会出现什么!Display Tag默认会提供三种数据导出方式:CSV、Excel、XML 。
另外Display Tag还可以导出为PDF格式,在http://prdownloads.sourceforge.net/itext/下载一个辅助包iText.jar,copy到lib目录下,然后在display:table之间添加一段代码:
,大功告成。

5. displaytag中decorator的使用原理

decorator有两种,一种是用在displaytag:table中,一种是用在displaytag:column中,前者对整个表中相应属性有效,后者对单个列有效。所以,在前者中,你一定要在响应的decorator类中写上get方法,命名方式为get+beanProperty(bean属性),前者需继承TableDecorator类,后者只需实现ColumnDecorator类的decorate方法即可(return一个String)。

关于decorator的原理,是这样的,当使用decorator属性时,数据先从bean中被取出,然后被传入进decorator,前者是在decorator类中调用getCurrentRowObject方法得到当前bean,继而再调用bean的get方法将属性取出

public String getDate()
{
return this.dateFormat.format(((ListObject) this.getCurrentRowObject()).getDate());
}
),
后者是数据直接被传进其decorate方法.


当数据被处理完成后,再返回到页面显示,所以说,decorator类其实是将原有属性的value进行包装后输出的包装器,它的英文意思为油漆工,也就是这个意思,这也是一种基本设计模式

6. 分页

如果想对代码分页,只需在display:table标签中添加一项pagesize="每页显示行数",如



7. 对列排序

display tag可对列进行排序,就是点击列名,对该列的数据进行排序。你只需对想要排序的列添加 sort="true" 就OK,如下面的代码可对前三列进行排序。在display:table中添加defaultsort="列数",可默认对指定的列排序。






如果table有分页,Display Tag默认只对当前页进行排序,如果想对整个list排序,可以在display:table之间添加一段代码:

8.设置连接









9.分组只是需要在column里增加group属性











 

你可能感兴趣的:(Bean,Excel,JSP,设计模式,.net)