display:table用法

转自:http://blog.csdn.net/wkwanglei/article/details/5472915

在web.xml下添加一个filter 
<filter> 
    <filter-name>exportFilter</filter-name> 
    <filter-class>org.displaytag.filter.ResponseOverrideFilter</filter-class> 
</filter> 

在jsp页面做一个引用: 
<%@ taglib uri="http://displaytag.sf.net/el" prefix="display" %> 

首先我们定义一个list 
<% 
List test = new ArrayList( 6 ); 
test.add( "Test String 1" ); 
test.add( "Test String 2" ); 
test.add( "Test String 3" ); 
test.add( "Test String 4" ); 
test.add( "Test String 5" ); 
test.add( "Test String 6" ); 
request.setAttribute( "test", test ); 
%> 

当我们想在jsp页面上显示这个list时,我们只需要写一句话 
<display:table name="test" /> 
display tag会自动生成一个table 

如果list是从控制层抛出来的,name可使用EL表达式表示 
<display:table name="${test}" /> 

这是最简单的display tag的使用,我们可以给它加上样式等,也可以定义显示的列,下面的table显示复杂一些 
<display:table name="test" styleClass="list" cellspacing="0" cellpadding="0"> 
<display:column property="id" title="ID" class="idcol"/> 
<display:column property="name" /> 
<display:column property="email" /> 
<display:column property="description" title="Comments"/> 
</display:table> 

如果想要给它加个链接也很简单,下面的代码给name加了连接,并附带id参数,email也自动连接到mailto:XXX 
<display:table name="test" styleClass="list" cellspacing="0" cellpadding="0"> 
<display:column property="id" title="ID" class="idcol"/> 
<display:column property="name" url="detail.jsp" paramId="id" paramProperty="id"/> 
<display:column property="email" autolink="true"/> 
<display:column property="description" title="Comments"/> 
</display:table> 

下面介绍几个Display最常用的功能,更多功能请参考http://www.displaytag.org/index.jsp。 
1. 分页 
如果想对代码分页,只需在display:table标签中添加一项pagesize="每页显示行数",如 
<display:table name="test" pagesize="10"/> 

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

 

========================================================================

1.更改空记录提示语言,默认提示:“没有满足查询条件的记录” 
在<display:table....里面 <display:column....前面增加 
<display:setProperty name="basic.msg.empty_list_row" value="没有找到任何记录" /> 
<display:setProperty name="basic.msg.empty_list" value="没有找到任何记录!" /> 
空记录提示语言修改为:"没有找到任何记录" 

2.空记录的时候仍然显示表头信息(默认空记录不显示表头信息) 
在<display:table....里面 <display:column....前面增加 
<display:setProperty name="basic.msg.empty_list_row" value="" /> 
<display:setProperty name="basic.empty.showtable" value="true" /> 

3.不显示标题,默认为显示=true 
<display:setProperty name="basic.show.header" value="false" /> 

4.按list或page排序,默认按page 
<display:setProperty name="sort.amount" value="list" />


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值