`

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"%>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics