快速业务通道

使用Spring更好地处理Struts动作 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-21
eturn mapping.findForward("success");   } }

让我们快速思考一下这里到底发生了什么。在 (1) 处,我通过从 Spring 的 ActionSupport 类而不是 Struts 的 Action 类进行扩展,创建了一个新的 Action。在 (2) 处,我使用 getWebApplicationContext() 方法获得一个 ApplicationContext。为了获得业务服务,我使用在 (2) 处获得的环境在 (3) 处查找一个 Spring bean。

这种技术很简单并且易于理解。不幸的是,它将 Struts 动作与 Spring 框架耦合在一起。如果您想替换掉 Spring,那么您必须重写代码。并且,由于 Struts 动作不在 Spring 的控制之下,所以它不能获得 Spring AOP 的优势。当使用多重独立的 Spring 环境时,这种技术可能有用,但是在大多数情况下,这种方法不如另外两种方法合适。

使用Spring更好地处理Struts动作(3)

时间:2011-01-03 IBM George Franciscus

窍门 2. 覆盖 RequestProcessor

将 Spring 从 Struts 动作中分离是一个更巧妙的设计选择。分离的一种方法是使用 org.springframework.web.struts.DelegatingRequestProcessor 类来覆盖 Struts 的 RequestProcessor 处理程序,如清单 2 所示:

清单 2. 通过 Spring 的 DelegatingRequestProcessor 进行整合

<?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE struts-config PUBLIC       "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"       "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"> <struts-config> <form-beans>    <form-bean name="searchForm"      type="org.apache.struts.validator.DynaValidatorForm">         <form-property name="isbn"  type="java.lang.String"/>    </form-bean>     </form-beans> <global-forwards type="org.apache.struts.action.ActionForward">    <forward  name="welcome"        path="/welcome.do"/>    <forward  name="searchEntry"      path="/searchEntry.do"/>    <forward  name="searchSubmit"      path="/searchSubmit.do"/> </global-forwards> <action-mappings>    <action  path="/welcome" forward="/WEB-INF/pages/welcome.htm"/>    <action  path="/searchEntry" forward="/WEB-INF/pages/search.jsp"/>    <action  path="/searchSubmit"          type="ca.nexcel.books.actions.SearchSubmit"         input="/searchEntry.do"         validate="true"         name="searchForm">         <forward name="success" path="/WEB-INF/pages/detail.jsp"/>         <forward name="failure" path="/WEB-INF/pages/search.jsp"/>    </action>  </action-mappings> <message-resources parameter="ApplicationResources"/> <controller processorClass="org.springframework.web.struts.   DelegatingRequestProcessor"/> |(1) <plug-in className="org.apache.struts.validator.ValidatorPlugIn">

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号