- 1
- 0
- 约1.89万字
- 约 126页
- 2015-12-13 发布于广东
- 举报
7.5.3 使用ForwardAction及DispatchAction提高开发效率 1.使用 ForwardAction提高开发效率 在应用程序中,可能会经常出现只需将Action对象转发到某个JSP的情况。前面曾提到,总是由Action调用JSP来实现。如果我们不必在Action中执行任何业务逻辑,却又想遵循从Action访问页面的话,就可以使用ForwardAction,它可以使你免去创建许多空的Action类。运用ForwardAction的好处是不必创建自己的Action类,需要做的仅仅是在Struts配置文件中配置一个Action mapping。 举个例子,假定有一个JSP文件index.jsp,而且不能直接调用该页面,必须让程序通过一个Action类调用,那么,可以建立以下的Action mapping来实现这一点: action path=/logoff type=org.apache.struts.webapp.example.LogoffAction forward name=success path=/WEB-INF/jsp/index.jsp/ /action 正如你看到的,当/home被调用时, 就会调用ForwardAction并把请求转发到 index.jsp 页面。 再讨论一下不通过一个Action类直接转发到某个页面的情况。必须注意,我们仍然使用元素中的forward属性来实现转发的目标。这时元素定义如下: action path=/home forward=/index.jsp /action 以上两种方法都可以节省你的时间,并有助于减少一个应用所需的文件数。 2.使用DispatchAction提高开发效率 DispatchAction是Struts包含的另一个能大量节省开发时间的Action类。与其它Action类仅提供单个execute()方法实现单个业务不同,DispatchAction允许你在单个Action类中编写多个与业务相关的方法。这样可以减少Action类的数量,并且把相关的业务方法集合在一起,使得维护起来更容易。 要使用DispatchAction的功能,需要自己创建一个类,通过继承抽象的DispatchAction得到。对每个要提供的业务方法,则必须有特定的方法signature。例如,我们想要提供一个方法来实现对购物车添加商品清单,创建了一个类ShoppingCartDispatchAction,该类提供以下的方法: public ActionForward addItem( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) Throws Exception 那么,这个类很可能还需要一个deleteItem()方法从客户的购物车中删除商品清单,以及clearCart()方法清除购物车等。这时我们就可以把这些方法集合在单个Action类,而不用为每个方法都提供一个Action类。 在调用ShoppingCartDispatchAction里的某个方法时,只需在URL中提供方法名作为参数值。就是说,调用addItem()方法的URL看起来可能类似于: http://localhost/storefront/action/cart?method=addItem 其中,method参数指定ShoppingCartDispatchAction中要调用的方法。参数的名称可以任意配置,这里使用的“method”只是一个例子。参数的名称可以在Struts配置文件中自行设定。 7.6 Struts标记库 7.6.1 定制JSP标记 Struts提供了用来封装逻辑的各种定制JSP标记,因此页面设计者可以将主要精力花在页面的可视特征上,而不必考虑Java语法或其它JSP语法。在下列标识库描述符中引用了Struts标记: ● struts-bean.tld:使访问bean以及新bean的定义更容易,为了实现国际化,应使用不同的属性文件。 ● struts-html.tld:提供显示HTML对象(如表单、按钮和复选框)的简便方法。 ● struts-logic.tld:支持逻辑构造,以便可以有条件地显示文本或作为处理循环的结果来显示文本。 ● struts-template.tl
您可能关注的文档
- Visual C# 2005程序设计教程 作者 978-7-302-19477-4 ch05.ppt
- Visual C# 2005程序设计教程 作者 978-7-302-19477-4 ch06.ppt
- Visual C# 2005程序设计教程 作者 978-7-302-19477-4 ch09.ppt
- Visual C# 2005程序设计教程 作者 978-7-302-19477-4 ch10.ppt
- Visual C# 2005程序设计教程 作者 978-7-302-19477-4 ch11.ppt
- Visual C# 2005程序设计教程 作者 978-7-302-19477-4 ch13.ppt
- Visual C# 2005程序设计教程 作者 978-7-302-19477-4 ch14.ppt
- Visual C# 2008程序设计教程 作者 978-7-302-26232-9 ch02.ppt
- Visual C# 2008程序设计教程 作者 978-7-302-26232-9 ch04.ppt
- Visual C# 2008程序设计教程 作者 978-7-302-26232-9 ch05.ppt
- (2026春新版)部编版八年级语文下册《第一单元》PPT课件.pptx
- 2018电力监控系统网络安全监测装置技术规范.docx
- 2022电力监控系统安全防护方案审核要点.docx
- 2014电力电缆光伏系统EN 50618欧标.docx
- (2026春新版)人教版二年级数学下册《第三单元 万以内数的认识》教案.docx
- (2026春新版)人教版二年级数学下册《第四单元 万以内的加法和减法》教案.docx
- (2026春新版)人教版二年级数学下册《综合与实践 时间在哪里》教案.docx
- (2026春新版)苏教版二年级数学下册《综合与实践 时间有多长》教案 .pdf
- (2026春新版)部编版三年级语文下册第3单元(教案).docx
- (2026春新版)部编版三年级语文下册第8单元(教案).docx
最近下载
- 照明负荷计算.pdf VIP
- 驾驶执照中英文参考题目.PDF VIP
- 机关事业单位工作人员请、销假管理制度(范本).docx VIP
- 2025至2030中国锌精矿行业调研及市场前景预测评估报告.docx VIP
- 结核性脑膜炎护理常规.ppt VIP
- 交往焦虑量表(IAS).pdf VIP
- 2024年中考语文真题分类16 议论文、说明文阅读(第03期)(解析版).pdf VIP
- GB55020-2021《建筑给水排水与节水通用规范》废止的现行工程建设标准相 精品.pdf VIP
- 2024年云南高中学业水平合格性考试数学试卷真题(含答案详解).pdf VIP
- 大家的日语26-50课单词-极度排版 便携.doc VIP
原创力文档

文档评论(0)