分享
 
 
 

J2EE中使用Display标记库来展示表格(翻译)

王朝html/css/js·作者佚名  2006-12-17
窄屏简体版  字體: |||超大  

J2EE中使用Display标记库来展示表格(翻译)

J2EE中使用Display标记库来展示表格(翻译) 这篇文章选自Bill Siggelkow的<<Jakarta Struts Cookbook>>一书.

我觉得这篇文章蛮实用,所以大致翻译了一篇文章.未经作者同意,实在不好意思,所有版权归原作者:P

用网页展示表格时,如果行数太多,有时候需要把它们分成很多页.而且各行之间使用不同的背景色来方便用户阅读.或者可能还需要排序.

虽然实现上面的功能都不难,但是如果使用Display标记库将能够大大简化开发.它模仿google,baidu页面的风格,把许多行的表格分成各个页面,并提供了常用的功能.

数据模型是很简单的美国总统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' style="font-family: courier new;" / 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,所以 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文档.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有