DisplayTag标签使用笔记!

1. 分页
如果想对代码分页,只需在display:table标签中添加一项pagesize="每页显示行数",如
<display:table name="test" pagesize="10"/>

2. 对列排序
display tag可对列进行排序,就是点击列名,对该列的数据进行排序。你只需对想要排序的列添加 sortable="true" 就OK,如下面的代码可对前三列进行排序。在display:table中添加default sort="列数",可默认对指定的列排序。<display:table name="test" styleClass="list" cellspacing="0" cellpadding="0" defaultsort="1">
<display:column property="id" title="ID" class="idcol" sort="true"/>
<display:column property="name" url="detail.jsp" paramId="id" paramProperty="id" sort="true"/>
<display:column property="email" autolink="true" sort="true"/>
<display:column property="description" title="Comments"/>
</display:table>
如果table有分页,Display Tag默认只对当前页进行排序,如果想对整个list排序,可以在display:table之间添加一段代码:
<display:setProperty name="sort.amount" value="list"/>

3. 导出数据 一定要是集合的时候才有数据导出,如果只是一个对象,那么导出为空!
在display:table中添加export="true",看看会出现什么!Display Tag默认会提供三种数据导出方式:CSV、Excel、XML 。
另外Display Tag还可以导出为PDF格式,在http://prdownloads.sourceforge.net/itext/下载一个辅助包iText.jar,copy到lib目录下,然后在display:table之间添加一段代码:
<display:setProperty name="export.pdf" value="true"/>,大功告成。

4. Display Tag的属性设置
前面所说的display:setProperty 是一种改变Display Tag属性的方法,但是在每个jsp中都要写太麻烦了。
Display Tag中设置了很多默认的属性,它有一个专门的属性文件,是在它的jar包中的displaytag/properties/TableTag.properties
想要改变它的默认属性,我们可以在WEB-INFclasses下新建一个文件displaytag.properties,仿照TableTag.properties中属性的格式设置需要修改的属性。
TableTag.properties中的# messages中设置的是显示在页面上的提示信息。默认是英文的,我们可以把它改为中文的。不过这里只能使用unicode,就是说中文字符必须转换为unicode码,这个可以使用jdk自带的native2ascii.exe进行转换。

5. 其它功能
DisplayTag还有一些很实用的小功能,这里提两个。一个是对数据的Format,这是1.1版本添加的新功能,可以使用标签的方式格式化时间、数字、字符串。比如日期,在需要格式化的column标签中添加format="",第一个参数为格式化的数据序号,第二个参数是数据类型,数字为number,第三个参数为数据格式。
另外一个功能是对table数据的合计功能。在table标签中添加 decorator="org.displaytag.decorator.TotalTableDecorator",然后在想要进行合计的数据列的column标签中添加 total="true",该列就可以被计算总数了。但这个功能有个缺点,不能用在有分页的时候,它只能合计第一页的数据。

6


<display:table name="productList" pagesize="4">
<display:column property="name" title="产品名字" href="searchProduct.do" paramId="id" paramProperty="id"/>
<display:column property="price" title="价钱" sortable="true"/>
<display:column property="descript" title="描述" />
</display:table>


有了pagesize属性,那么会显示页面导航信息,反之没有,会全部显示。

如果只有一条信息(一个row),那么不能使用sortable属性,不然NullPointer错!


7


<display:column property="name" title="产品名字" href="searchProduct.do" paramId="id" paramProperty="id"/>

注意:action中的path有"/"
forward中的path也有"/" 否则报错!!!!!

<action
input="/index.jsp"
path="/searchProduct"
type="org.action.SearchProductAction"
validate="false">
<forward name="showProduct" path="/showproduct.jsp" />
</action>


8

标签文字国际化如:首页/前一页 后一页/尾页 等等...

basic.empty.showtable=true
paging.banner.onepage=
basic.msg.empty_list=\u6CA1\u6709\u663E\u793A\u7ED3\u679C\u3002
basic.msg.empty_list_row=<tr class\="empty"><td colspan\="0">\u6CA1\u6709\u663E\u793A\u7ED3\u679C\u3002</td></tr></tr>
export.banner=<div class\="exportlinks">\u5BFC\u51FA\u9009\u9879\uFF1A{0}</div>
paging.banner.no_items_found=<span class\="pagebanner">\u6CA1\u6709\u627E\u5230{0}\u8BB0\u5F55\u3002</span>
paging.banner.one_item_found=<span class\="pagebanner">\u5171\u627E\u5230\u4E00\u6761{0}\u8BB0\u5F55\u3002</span>
paging.banner.all_items_found=<span class\="pagebanner">\u5171\u627E\u5230{0}\u6761\u8BB0\u5F55\uFF0C\u663E\u793A\u6240\u6709\u8BB0\u5F55\u3002</span>
paging.banner.some_items_found=<span class\="pagebanner">\u5171\u627E\u5230{0}\u6761\u8BB0\u5F55\uFF0C\u5F53\u524D\u663E\u793A\u4ECE\u7B2C{2}\u6761\u81F3\u7B2C{3}\u6761\u3002</span>
paging.banner.full=<span class\="pagelinks">[<a href\="{1}">\u9996\u9875</a>/<a href\="{2}">\u4E0A\u4E00\u9875</a>]{0}[<a href\="{3}">\u4E0B\u4E00\u9875</a>/<a href\="{4}">\u5C3E\u9875</a>]</span>
paging.banner.first=<span class\="pagelinks">[\u9996\u9875/\u4E0A\u4E00\u9875] {0}[<a href\="{3}">\u4E0B\u4E00\u9875</a>/<a href\="{4}">\u5C3E\u9875</a>]</span>
paging.banner.last=<span class\="pagelinks">[<a href\="{1}">\u9996\u9875</a>/<a href\="{2}">\u4E0A\u4E00\u9875</a>]{0} [\u4E0B\u4E00\u9875/\u5C3E\u9875]</span>
paging.banner.page.link=<a href\="{1}" title\="\u8F6C\u5230\u7B2C{0}\u9875">{0}</

9
jsp页面中加入display标签
<%@taglib uri="http://displaytag.sf.net" prefix="display"%>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值