strus2的action类交给spring管理action的class与spring的id相对应

来源:互联网 发布:淘宝金酷娃警车 编辑:程序博客网 时间:2024/04/30 00:23

在我们集成struts2+spring+hibernate,也就是所谓的S2SH,不可避免的要引入struts2-spring-plugin.jar插件


引入这个插件后,原先所struts创建的action类,交给了spring创建

不需要再struts.xml写

<content name="struts.objectFactory" value="spring" >

jar里面已经写了

并且spring中加上

scope="prototype



在struts2插件文档里,这样写着“The Spring Plugin works by overriding the Struts ObjectFactory to enhance the creation of core framework objects。”这个插件重写了struts的对象工厂,当创建一个action类时,它会根据struts的配置文件的class属性的值与spring配置文件中的id属性的值相匹配。


  1. <struts>  
  2.   
  3.         <package name="registration" extends="struts-default">  
  4.                 <action name="addUser" class="com.action.AddUserAction">  
  5.                        <result>success.jsp</result>  
  6.                </action>  
  7.         </package>  
  8.   
  9. </struts>  

改写成


  1. <struts>  
  2.   
  3.         <package name="registration" extends="struts-default">  
  4.                 <action name="addUser" class="addUserAction">  
  5.                        <result>success.jsp</result>  
  6.                </action>  
  7.         </package>  
  8.   
  9. </struts>