读书人

在Struts中施用displaytag标签的排序/

发布时间: 2012-11-10 10:48:50 作者: rapoo

在Struts中使用displaytag标签的排序/分页数据

显示Struts的标签库是一个开放源码套件的定制标记,提供高层次的网络呈现方式,将工作在一个MVC模型。该库提供了一个重要的功能,同时还易于使用。displaytag标签可以处理列显示,排序,分页,裁剪,分组,出口,智能连接和一个可定制的XHTML样式表中的装饰。

在下面的示例中,我们将看到如何获得收入数据显示标签,并做分页和排序。我们将使用Eclipse作为IDE在我们的例子中。

第1步:创建Eclipse动态Web项目和JAR文件拷贝

启动Eclipse,转到文件 - >新建 - >项目 - >动态Web项目
在Struts中施用displaytag标签的排序/分页数据

以下是列表中所需的JAR文件被添加到您的项目的Java类路径。下载displaytag标签http://displaytag.sourceforge.net/1.2/download.html从JAR文件。

在Struts中施用displaytag标签的排序/分页数据

第2步:创建行动,表格和Bean类

一旦项目被创建,创建3个java文件ForbesData的,UserAction和UserForm中包net.viralpatel.struts.displaytag。
在Struts中施用displaytag标签的排序/分页数据

复制下面的内容到ForbesData.java文件。

package net.viralpatel.struts.displaytag;import java.util.ArrayList;public class ForbesData {private int rank;private String name;private int age;private double netWorth;public ForbesData() {}public ForbesData(int rank, String name, int age, double netWorth) {this.rank = rank;this.name = name;this.age = age;this.netWorth = netWorth;}public ArrayList<ForbesData> loadData() {ArrayList<ForbesData> userList = new ArrayList<ForbesData>();userList.add(new ForbesData(1, "William Gates III", 53, 40.0));userList.add(new ForbesData(2, "Warren Buffett", 78, 37));userList.add(new ForbesData(3, "Carlos Slim Helu & family", 69, 35));userList.add(new ForbesData(4, "Lawrence Ellison", 64, 22.5));userList.add(new ForbesData(5, "Ingvar Kamprad & family", 83, 22));userList.add(new ForbesData(6, "Karl Albrecht", 89, 21.5));userList.add(new ForbesData(7, "Mukesh Ambani", 51, 19.5));userList.add(new ForbesData(8, "Lakshmi Mittal", 58, 19.3));userList.add(new ForbesData(9, "Theo Albrecht", 87, 18.8));userList.add(new ForbesData(10, "Amancio Ortega", 73, 18.3));userList.add(new ForbesData(11, "Jim Walton", 61, 17.8));userList.add(new ForbesData(12, "Alice Walton", 59, 17.6));userList.add(new ForbesData(12, "Christy Walton & family", 54, 17.6));userList.add(new ForbesData(12, "S Robson Walton", 65, 17.6));userList.add(new ForbesData(15, "Bernard Arnault", 60, 16.5));userList.add(new ForbesData(16, "Li Ka-shing", 80, 16.2));userList.add(new ForbesData(17, "Michael Bloomberg", 67, 16));userList.add(new ForbesData(18, "Stefan Persson", 61, 14.5));userList.add(new ForbesData(19, "Charles Koch", 73, 14));userList.add(new ForbesData(19, "David Koch", 68, 14));userList.add(new ForbesData(21, "Liliane Bettencourt", 86, 13.4));userList.add(new ForbesData(22, "Prince Alwaleed Bin Talal Alsaud", 54, 13.3));return userList;}public int getRank() {return rank;}public void setRank(int rank) {this.rank = rank;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public double getNetWorth() {return netWorth;}public void setNetWorth(double netWorth) {this.netWorth = netWorth;}}

复制以下内容UserForm.java上

package net.viralpatel.struts.displaytag;import java.util.ArrayList;public class UserForm extends org.apache.struts.action.ActionForm {private ArrayList<ForbesData> forbesList;public ArrayList<ForbesData> getForbesList() {return forbesList;}public void setForbesList(ArrayList<ForbesData> forbesList) {this.forbesList = forbesList;}}

复制以下内容UserAction.java上

package net.viralpatel.struts.displaytag;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;public class UserAction extends Action {    private final static String SUCCESS = "success";public ActionForward execute(ActionMapping mapping, ActionForm form,            HttpServletRequest request, HttpServletResponse response)            throws Exception {        UserForm userForm = (UserForm) form;        ForbesData actorData = new ForbesData();        userForm.setForbesList(actorData.loadData());        return mapping.findForward(SUCCESS);    }      }

第3步:创建JSP,struts-config.xml和web.xml文件

在WebContent文件夹和struts-config.xml和web.xml中的WebContent / WEB-INF文件夹中创建index.jsp和user.jsp。
在Struts中施用displaytag标签的排序/分页数据

复制以下内容转换成相应的文件。

index.jsp的
<%@page contentType="text/html"%><%@page pageEncoding="UTF-8"%>//原文由 www.software8.co 站长百科译<jsp:forward page="userAction.do"/>

user.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><%@taglib uri="http://displaytag.sf.net" prefix="display" %><html>    <head>        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">        <title>The World's Billionaires 2009</title>        <link href="css/style.css" rel="stylesheet" type="text/css" />    </head>    <body>    <h2>The World's Billionaires 2009 - Forbes List</h2>        <display:table export="true"  id="data"         name="sessionScope.UserForm.forbesList"         requestURI="/userAction.do" pagesize="10" >            <display:column property="rank" title="Rank" sortable="true"   />            <display:column property="name" title="Name" sortable="true"  />            <display:column property="age" title="Age" sortable="true"  />            <display:column property="netWorth" title="Net worth ($BIL)"             sortable="true"  />        </display:table>    </body></html>

struts-config.xml中
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts-config PUBLIC          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"          "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd"><struts-config>    <form-beans>        <form-bean name="UserForm"         type="net.viralpatel.struts.displaytag.UserForm"/>    </form-beans>        <global-exceptions>        </global-exceptions>    <global-forwards>        <forward name="welcome"  path="/Welcome.do"/>    </global-forwards>    <action-mappings>        <action input="/" name="UserForm" path="/userAction"         scope="session" type="net.viralpatel.struts.displaytag.UserAction">            <forward name="success" path="/user.jsp" />        </action>        <action path="/Welcome" forward="/welcomeStruts.jsp"/>    </action-mappings>        <message-resources parameter="com/vaannila/ApplicationResource"/>  </struts-config>

web.xml中
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><servlet><servlet-name>action</servlet-name><servlet-class>org.apache.struts.action.ActionServlet</servlet-class><init-param><param-name>config</param-name><param-value>/WEB-INF/struts-config.xml</param-value></init-param><init-param><param-name>debug</param-name><param-value>2</param-value></init-param><init-param><param-name>detail</param-name><param-value>2</param-value></init-param><load-on-startup>2</load-on-startup></servlet><servlet-mapping><servlet-name>action</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping><session-config><session-timeout>30</session-timeout></session-config><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list></web-app>

第4步:执行项目

我们已经完成了这个项目。现在执行的项目在Eclipse中创建一个WAR文件,并在Tomcat上运行。

在Struts中施用displaytag标签的排序/分页数据

读书人网 >编程

热点推荐