上一篇:Java列表对象的性能分析 >>
J2EE中使用Display标记库来展示表格
数据模型是很简单的美国总统JavaBean.它有3个简单的String属性。
Java代码如下:
| PagedData.java import java.util.ArrayList; import java.util.List; public class PagedData { private List list; public PagedData( ) { list = new ArrayList( ); list.add( new President( "Garfield", "James", "1881") ); list.add( new President( "Arthur", "Chester", "1881-85") ); list.add( new President( "Cleveland", "Grover", "1885-89") ); list.add( new President( "Harrison", "Benjamin", "1889-93") ); list.add( new President( "Cleveland", "Grover", "1893-97") ); list.add( new President( "McKinley", "William", "1897-1901") ); list.add( new President( "Roosevelt", "Theodore", "1901-09") ); list.add( new President( "Taft", "William H.", "1909-13") ); list.add( new President( "Wilson", "Woodrow", "1913-21") ); list.add( new President( "Jackson", "Andrew", "1829-37") ); list.add( new President( "Harding", "Warren", "1921-23") ); list.add( new President( "Coolidge", "Calvin", "1923-29") ); list.add( new President( "Hoover", "Herbert", "1929-33") ); list.add( new President( "Roosevelt", "Franklin D.", "1933-45") ); list.add( new President( "Truman", "Harry", "1945-53") ); list.add( new President( "Eisenhower", "Dwight", "1953-61") ); list.add( new President( "Kennedy", "John F.", "1961-63") ); list.add( new President( "Johnson", "Lyndon", "1963-69") ); list.add( new President( "Nixon", "Richard", "1969-74") ); list.add( new President( "Ford", "Gerald", "1974-77") ); list.add( new President( "Carter", "Jimmy", "1977-81") ); list.add( new President( "Reagan", "Ronald", "1981-89") ); list.add( new President( "Bush", "George H.W.", "1989-93") ); list.add( new President( "Clinton", "William J.", "1993-2001") ); list.add( new President( "Bush", "George W.", "2001-present") ); list.add( new President( "Washington", "George", "1789-97") ); list.add( new President( "Adams", "John", "1797-1801") ); list.add( new President( "Jefferson", "Thomas", "1801-09") ); list.add( new President( "Madison", "James", "1809-17") ); list.add( new President( "Monroe", "James", "1817-25") ); list.add( new President( "Jackson", "Andrew", "1829-37") ); list.add( new President( "Van Buren", "Martin", "1837-41") ); list.add( new President( "Harrison", "William Henry", "1841") ); list.add( new President( "Tyler", "John", "1841-45") ); list.add( new President( "Polk", "James", "1845-49") ); list.add( new President( "Taylor", "Zachary", "1849-50") ); list.add( new President( "Fillmore", "Millard", "1850-53") ); list.add( new President( "Pierce", "Franklin", "1853-57") ); list.add( new President( "Buchanan", "James", "1857") ); list.add( new President( "Lincoln", "Abraham", "1861-65") ); list.add( new President( "Johnson", "Andrew", "1865-69") ); list.add( new President( "Grant", "Ulysses S.", "1869-77") ); list.add( new President( "Hayes", "Rutherford B.", "1877-81") ); } public List getData( ) { return list; } } President.java public class President { public President(String lname, String fname, String term) { lastName = lname; firstName = fname; this.term = term; } public String getFirstName( ) { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName( ) { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public String getTerm( ) { return term; } public void setTerm(String term) { this.term = term; } private String lastName; private String firstName; private String term; } |
下面的Jsp页面是展示表格的,也体现了Display库最常见的用法:
| index.jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="http://displaytag.sf.net/el" prefix="display" %> <html> <head> <title>Struts Cookbook - Chapter 4 : Display Tag Example</title> <style> .even {background-color:orange;} .odd {background-color:yellow;} </style> </head> <body> <h2>Display Tag Examples</h2> <jsp:useBean id="pagedData" class="PagedData"/> <display:table id="pres" name="${pagedData.data}" sort="list" pagesize="10" defaultsort="3"> <display:caption>United States Presidents</display:caption> <display:setProperty name="basic.show.header" value="true"/> <display:column property="firstName" title="First Name" sortable="true"/> <display:column property="lastName" title="Last Name" sortable="true"/> <display:column property="term" title="Term of Office" sortable="true"/> </display:table> </body> </html> |
在浏览器里打开页面:
|
|
看见了吧,效果确实不错:)
要使用display标记库,需要在这里下载:
http://displaytag.sourceforge.net
把display.jar文件放到WEB-INF/lib中.
注意:
这里用到了EL,所以 jstl.jar和standard.jar这两个库需要在lib中.
Display.jar依赖2.0或以上的Jakarta Commons Lang库,commons-lang-2.0.jar和Jakarta Commons Collections库,commons-collections.jar.
它们分别在:
http://jakarta.apache.org/commons和http://jakarta.apache.org/commons/collections/
下载,然后把对应的jar文件copy到WEB-INF/lib中.
简单介绍用法,其实也不用我多说,看看jsp文件也就基本懂了.
<display:table id="pres" name="${pagedData.data}"
sort="list" pagesize="10" defaultsort="3">
id是以后用到时的变量.name是要展现的集合数据.list表示整个list被排序.pagesize表示每页所要展示的数.defaultsort表示最开始是按第几列排序的,注意这里是以1开始计数的.
<display:caption>United States Presidents</display:caption>
isplay:caption标记中间的字符串是用来放到表格上面的标题.
<display:column property="firstName" title="First Name"
sortable="true"/>
display:column标记指定了每列的属性.
还要更多的使用方法,见Display标记库的Doc文档.
下一篇:用Java开发3D游戏之创建场景 >>
相关文章:
- · 浅析Java语言中两种异常的差别
- · 谈谈J2SE中的序列化之一个感性的认识
- · 利用Java 3D技术播放动画之QTJ技术
- · “2005Java中国开发者大会”即将召开
- · 现代Java Web开发架构分析
- · 用Java开源项目JOONE实现人工智能编程
- · ASP.NET 2.0移动开发入门之使用模拟器
- · 在ASP.NET中自动给URL加上超链接
- · ASP.NET Atlas对JavaScript的扩展
- · ASP.NET Atlas简单控件介绍之两个基类
- · ASP.NET Atlas简单控件介绍之四大控件
- · ASP.NET页面中标题单点解决方案
- · ASP.NET2.0导航功能之配置会员和角色
- · 在ASP.NET程序中实现语音合成
- · ASP.NET入门随想之吸星大法
- · 抢先试用ASP.NET 2.0中的新型安全控件
- · ASP.NET入门随想六之大航海家
- · ASP.NET2.0应用中定制安全凭证之理论篇
- · ASP.NET2.0应用中定制安全凭证之实践篇
- · ASP.NET入门随想之抽象的力量
- · 一道Google中国挑战赛竞赛题的解法
- · ASP.NET入门随想之开卷有益
- · ASP.NET入门随想之瘦子与胖子的故事
- · .NET 2.0远程传输数据集的优化方法
- · 英特尔:对驱动程序软件漏洞没必要担忧
- · 苹果发布Mac OS升级版 修复60个软件瑕疵
- · 边走边看 手机应用软件开发平台介绍
- · Windows Mobile 5.0最新体验
- · 解读VC++编程中的文件操作API和CFile类
- · 利用VC++实现局域网实时视频传输
- · 使用VC6.0实现窗口的任意分割
- · 抢占网络工具焦点阵地 几大浏览器纷纷变脸
- · 双缓冲技术及其在VC的GDI环境下的实现
- · VC++实现动画弹出/弹入式窗口
- · VC++中实现以复杂线条为基础的图形绘图
- · VC++实现工具栏上添加平面组合框控件
- · C++箴言:考虑支持不抛异常的swap
- · Visual C++实现对计算机远程监控
