龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

J2EE中使用Display标记库来展示表格

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
用网页展示表格时,假如行数太多,有时候需要把它们分成很多页.而且各行之间使用不同的背景色来方便用户阅读.或者可能还需要排序。虽然实现上面的功能都不难,但是假如使用D

  用网页展示表格时,假如行数太多,有时候需要把它们分成很多页.而且各行之间使用不同的背景色来方便用户阅读.或者可能还需要排序。虽然实现上面的功能都不难,但是假如使用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" 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>

  在浏览器里打开页面:
  
  
  

精彩图集

赞助商链接