displayTag用法
1) 下载displayTag:
官网 http://www.displaytag.org/1.2
2) 搭建:
将displaytag-1.2.jar文件拷贝到WEB-INF/lib文件夹下(如果想将表格导出到EXCEL还要把displaytag-export-poi-1.2.jar也一起拷贝),并确保环境中包含以下组件:
commons-logging、commons-lang、commons-collections、commons-beanutils、log4j、itext (可选,df/rtf export)
将images、img、css三个文件夹拷到项目的WebRoot下
3)使用:
导入标签库<%@ taglib uri="http://displaytag.sf.net" prefix="display" %> 或 <%@ taglib uri="http://displaytag.sf.net/el" prefix="display-el" %>(支持EL表达式)
1.<display:table>表格标签
name:数据源,是一个List,例如:name="sessionScope.MyList" 数据取得范围pageScope、requestScope (默认)、sessionScope、applicationScoperequestURI:数据请求地址,例如:requestURI="MyAction.do"
pagesize:每页显示的记录数
length:要显示的显示记录数
offset:从第几条数据开始
decorator:装饰器,它要继承TableDecorator类
2.<display:caption>标题3.<display:column>列
property:映射List中对象的属性
autolink:boolean,自动链接URL、email
href(url):建立链接,也可以用decorator创建动态连接
paramId:加在URL 地址后的参数名称 paramName:数据bean的名称,一般为null(即使用当前List里的对象) paramScope:数据bean的范围,一般为null paramProperty:数据bean的属性名称,用来填充URL 地址后的参数值
value:静态值title:列名
sortable:column里的属性对象要实现Comparable接口,如果没有的话可以应用decorator
decorator:装饰器,它要继承TableDecorator类
maxLength/maxWords:最大长度
备注:在<display:table/>里增加了id属性,这时就在page context里创建了一个隐含对象,指向List里的当前对象,可以通过 (ListObject)pageContext.getAttribute("id")来捕获这个对象。同时还创建了一个id_rowNum对象,
可通过pageContext.getAttribute("表名_rowNum")来捕获,它仅仅代表当前行的行数。
4.<display:footer>表尾
5.<display:setProperty>设置属性
例子:<display:table name="someList" varTotals="totals" decorator="org.displaytag.sample.MyDecorator1">
<display:caption>This is the table caption</display:caption>
<display:column property="id" title="ID" href="details.jsp" paramId="id"decorator="org.displaytag.sample.MyDecorator2""/>
<display:column property="itemName" title="itemName"><display:column property="price" total="true"group="1"href="details.jsp"
paramId="action" paramName="testparam" paramScope="request"/>
<display:footer>
<tr>
<td>Total Bill:</td>
<td><c:out value="${totals.column2}" /></td>
<tr>
</display:footer>
</display:table>
4)配置:
缺省配置文件displaytag.properties在Library jar文件夹内,你可以在classpath下重写一个配置文件 displaytag.properties也可以通过<display:setProperty>设置
5)其他:
如果出现错误可以在web.xml文件中设置过滤器<filter> <filter-name>ResponseOverrideFilter</filter-name> <filter-class>org.displaytag.filter.ResponseOverrideFilter</filter-class> </filter>
<filter-mapping> <filter-name>ResponseOverrideFilter</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping> <filter-mapping> <filter-name>ResponseOverrideFilter</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping>