在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进行转换。
分享到:
相关推荐
在display:table标签中,可以使用_display:setProperty_标签来改变空记录提示语言。例如,要将默认的“没有满足查询条件的记录”修改为“没有找到任何记录”,可以使用以下代码: `<display:setProperty name=...
<display:table class="news" id="disTable" name="pstList" pagesize="20" partialList="true" size="totalNum" requestURI=" /info/List.do?Id=${childId}" decorator="com.bj.com.displaytag.decorator"> ...
综合了网上的一些拖动table列宽的方法我自己写了一个 这个是针对Display:table 这个...其实原理很简单我是在页面最后添加的js代码也就是在display:table生成了<table>之后所有稍作分析就可以应用在普通的table标签中
标题"table转div、table转css"所指的就是这一过程,即利用特定工具将原本用表格布局的内容转化为更灵活的div+CSS布局。这种转换可以提高页面加载速度,提升用户体验,并更好地适应不同设备的显示需求。 描述中提到...
`display:table`标签用于定义表格,`display:sort`属性允许用户对列进行排序,`pagesize`属性指定了每页的记录数。`display:pagination`标签则生成分页链接。 注意,以上代码仅为示例,实际应用中需要根据具体需求...
单元格有一些比较特别的属性,例如元素的垂直居中对齐,关联伸缩等,所以display:table-cell还是有不少潜在的使用价值的,虽说IE6/7不支持此属性,但是幸运的是,IE6/7一些乱糟糟的属性与渲染,我们可以其他方法实现...
标题“jquery table display”提示我们要关注的是如何使用jQuery显示表格。在HTML中,表格由`<table>`、`<tr>`(行)、`<td>`(单元格)等标签组成。使用jQuery,我们可以动态创建或修改这些元素。例如,使用`....
"利用层的table-row、table-cell属性进行页面布局"是一种常见的CSS布局技术,尤其在早期的Web开发中广泛使用,尽管现代CSS布局如Flexbox和Grid已变得更为流行。这种布局方法模仿了HTML表格的行(row)和单元格(cell)...
DisplayTag 的基本用法是通过`<display:table>`标签来展示数据列表。例如,当你有一个名为`test`的列表,你可以直接使用该标签来显示列表中的所有对象属性: ```jsp ("test", new ReportList(6));%> <display:table...
在本案例中,我们讨论的是如何在Struts1中实现自定义标签的嵌套,特别是`table`和`user`这两个自定义标签的使用。 首先,我们需要理解自定义标签的工作原理。在Struts1中,自定义标签通常由两部分组成:标签库描述...
但是这种方法相比直接使用 `<table>` 标签可能会更复杂,且不那么语义化。 在实际开发中,选择 `display: table` 还是使用 `<table>` 元素取决于具体需求。如果需要完全控制表格样式和布局,`display: table` 提供...
在本教程中,我们将深入探讨Display Tag的使用方法和技巧。 首先,我们来了解一下Display Tag的核心标签`<display:table>`。这个标签用于在HTML表格中展示数据集,它可以与任何Java集合或数据源(如List、Set、Map...
在网页设计领域,"table转换div+css"是一种常见的优化网页布局的方法。表格(table)在HTML中主要用于数据展示,但其布局方式相对固定且难以调整,不适用于响应式设计和现代网页的灵活布局。而Div(division)配合...
本篇文章将深入探讨“table控件”及其使用方法,结合给定的标签“源码”和“工具”,我们将探讨如何在实际项目中有效地运用table控件,并提供一些相关的源码示例。 首先,我们要理解HTML中的`<table>`元素,它是...
DisplayTag 的主要标签包括 `<display:table>`,它是整个表格的核心。通过这个标签,你可以指定数据源(如:一个Java集合),以及设置表格的属性,如列的显示、排序、分页等。例如: ```jsp <display:table name=...
例如,可以结合使用display:table-cell和display:inline-block的方法,或者使用CSS的Flexbox布局技术,后者提供了更为灵活和强大的布局控制,包括垂直和水平居中。 总结一下,通过display:table-cell实现div垂直...
DisplayTag的基本用法是使用`<display:table>`标签,它需要一个Java集合作为数据源。例如: ```jsp <display:table name="listOfObjects"> <display:column property="propertyName" title="Column Title"/> </...