1.下载displaytag的几个库文件,和辅助包apache的commons-lang-2.1,其中要求是2.1版本的。
2.修改web.xml,加上:
<servlet>
<servlet-name>DisplaySource</servlet-name>
<display-name>DisplaySource</display-name>
<description>display source of sample jsp pages</description>
<servlet-class>org.displaytag.sample.DisplaySourceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DisplaySource</servlet-name>
<url-pattern>*.source</url-pattern>
</servlet-mapping>
<mime-mapping>
<extension>css</extension>
<mime-type>text/css</mime-type>
</mime-mapping>
3.The prefix identifies the tags in the tag library within the JSP page.
<%@ taglib uri="http://displaytag.sf.net" prefix="display" %>
不用在web.xml中定义,并加载。因为displaytag.tld已经在jar文件包括好了。
The declaration, if you are using a JSP XML syntax, looks like:
<jsp:root version="1.2" xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:display="urn:jsptld:http://displaytag.sf.net">
4.然后在页面中取出数据
<%
List<President> list=new com.PagedData().getData();
request.setAttribute("test",list);
%>
最简单的形式: <display:table name="test" />
display tag会自动生成一个table,显示所有数据
5.
<display:table name="sessionScope.test" cellspacing="0" cellpadding="0" pagesize="10" defaultsort="1" defaultorder="descending">
<display:column property="term" sortable="true"/>
<display:column property="firstName" url="/aa.jsp" paramId="term" paramProperty="term" sortable="true"/>
<display:column property="lastName" title="aaaa" sortable="true"/>
</display:table>
如果数据有中文,只要在jsp中加上:
<%@ page language="java" contentType="text/html;charset=GBK"%>
6.
标签取得数据的数据源
有四种范围
pageScope
requestScope (默认) <display:table name="test2" >
sessionScope <display:table name="sessionScope.holder.list" > 注意,这里要指定范围,非默认
applicationScope
存在的问题:
1.当使用sessionScope.test,可以排序,但导出的数据为空。
2.当使用的默认的requestScope,可以导出数据,而不可排序。
不知是什么原因????