显示Struts的标签库是一个开放源码套件的定制标记提供高层次的网络呈现方式将工作在一个MVC模型该库提供了一个重要的功能同时还易于使用displaytag标签可以处理列显示排序分页裁剪分组出口智能连接和一个可定制的XHTML样式表中的装饰
在下面的示例中我们将看到如何获得收入数据显示标签并做分页和排序我们将使用Eclipse作为IDE在我们的例子中
第步创建Eclipse动态Web项目和JAR文件拷贝
启动Eclipse转到文件 >新建 >项目 >动态Web项目
以下是列表中所需的JAR文件被添加到您的项目的Java类路径下载displaytag标签从JAR文件
第
步
创建行动
表格和Bean类
一旦项目被创建创建个java文件ForbesData的UserAction和UserForm中包netviralpatelstrutsdisplaytag
复制下面的内容到ForbesDatajava文件
package netviralpatelstrutsdisplaytag; import javautilArrayList; 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) { thisrank = rank; thisname = name; thisage = age; Worth = netWorth; } public ArrayList<ForbesData> loadData() { ArrayList<ForbesData> userList = new ArrayList<ForbesData>() userListadd(new ForbesData( William Gates III )) userListadd(new ForbesData( Warren Buffett )) userListadd(new ForbesData( Carlos Slim Helu & family )) userListadd(new ForbesData( Lawrence Ellison )) userListadd(new ForbesData( Ingvar Kamprad & family )) userListadd(new ForbesData( Karl Albrecht )) userListadd(new ForbesData( Mukesh Ambani )) userListadd(new ForbesData( Lakshmi Mittal )) userListadd(new ForbesData( Theo Albrecht )) userListadd(new ForbesData( Amancio Ortega )) userListadd(new ForbesData( Jim Walton )) userListadd(new ForbesData( Alice Walton )) userListadd(new ForbesData( Christy Walton & family )) userListadd(new ForbesData( S Robson Walton )) userListadd(new ForbesData( Bernard Arnault )) userListadd(new ForbesData( Li Kashing )) userListadd(new ForbesData( Michael Bloomberg )) userListadd(new ForbesData( Stefan Persson )) userListadd(new ForbesData( Charles Koch )) userListadd(new ForbesData( David Koch )) userListadd(new ForbesData( Liliane Bettencourt )) userListadd(new ForbesData( Prince Alwaleed Bin Talal Alsaud )) return userList; } public int getRank() { return rank; } public void setRank(int rank) { thisrank = rank; } public String getName() { return name; } public void setName(String name) { thisname = name; } public int getAge() { return age; } public void setAge(int age) { thisage = age; } public double getNetWorth() { return netWorth; } public void setNetWorth(double netWorth) { Worth = netWorth; } }
复制以下内容UserFormjava上
package netviralpatelstrutsdisplaytag; import javautilArrayList; public class UserForm extends orgapachestrutsactionActionForm { private ArrayList<ForbesData> forbesList; public ArrayList<ForbesData> getForbesList() { return forbesList; } public void setForbesList(ArrayList<ForbesData> forbesList) { thisforbesList = forbesList; } }
复制以下内容UserActionjava上
package netviralpatelstrutsdisplaytag; import javaxservlethttpHttpServletRequest; import javaxservlethttpHttpServletResponse; import orgapachestrutsactionAction; import orgapachestrutsactionActionForm; import orgapachestrutsactionActionForward; import orgapachestrutsactionActionMapping; 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() userFormsetForbesList(actorDataloadData()) return mappingfindForward(SUCCESS) } }
第步创建JSPstrutsconfigxml和webxml文件
在WebContent文件夹和strutsconfigxml和webxml中的WebContent / WEBINF文件夹中创建indexjsp和userjsp
复制以下内容转换成相应的文件
indexjsp的<%@page contentType=text/html%> <%@page pageEncoding=UTF%> //<jsp:forward page=userActiondo/> userjsp<!DOCTYPE HTML PUBLIC //WC//DTD HTML Transitional//EN /TR/html/loosedtd> <%@taglib uri= prefix=display %> <html> <head> <meta httpequiv=ContentType content=text/html; charset=UTF> <title>The Worlds Billionaires </title> <link href=css/stylecss rel=stylesheet type=text/css /> </head> <body> <h>The Worlds Billionaires Forbes List <display:table export=true id=data name=sessionScopeUserFormforbesList requestURI=/userActiondo pagesize= > <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> strutsconfigxml中<?xml version= encoding=UTF ?> <!DOCTYPE strutsconfig PUBLIC //Apache Software Foundation//DTD Struts Configuration //EN config__dtd> <strutsconfig> <formbeans> <formbean name=UserForm type=netviralpatelstrutsdisplaytagUserForm/> </formbeans> <globalexceptions> </globalexceptions> <globalforwards> <forward name=welcome path=/Welcomedo/> </globalforwards> <actionmappings> <action input=/ name=UserForm path=/userAction scope=session type=netviralpatelstrutsdisplaytagUserAction> <forward name=success path=/userjsp /> </action> <action path=/Welcome forward=/welcomeStrutsjsp/> </actionmappings> <messageresources parameter=com/vaannila/ApplicationResource/> </strutsconfig> webxml中<?xml version= encoding=UTF?> <webapp version= xmlns= xmlns:xsi=//XMLSchemainstance xsi:schemaLocation= app__xsd> <servlet> <servletname>action</servletname> <servletclass> orgapachestrutsactionActionServlet </servletclass> <initparam> <paramname>config</paramname> <paramvalue>/WEBINF/strutsconfigxml</paramvalue> </initparam> <initparam> <paramname>debug</paramname> <paramvalue></paramvalue> </initparam> <initparam> <paramname>detail</paramname> <paramvalue></paramvalue> </initparam> <loadonstartup></loadonstartup> </servlet> <servletmapping> <servletname>action</servletname> <urlpattern>*do</urlpattern> </servletmapping> <sessionconfig> <sessiontimeout></sessiontimeout> </sessionconfig> <welcomefilelist> <welcomefile>indexjsp</welcomefile> </welcomefilelist> </webapp>
第步执行项目
我们已经完成了这个项目现在执行的项目在Eclipse中创建一个WAR文件并在Tomcat上运行