在我们集成struts2+spring+hibernate,也就是所谓的S2SH,不可避免的要引入struts2-spring-plugin.jar插件
引入这个插件后,原先所struts创建的action类,交给了spring创建
不需要再struts.xml写
<content name="struts.objectFactory" value="spring" > |
并且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属性的值相匹配。
- <struts>
- <package name="registration" extends="struts-default">
- <action name="addUser" class="com.action.AddUserAction">
- <result>success.jsp</result>
- </action>
- </package>
- </struts>
改写成
- <struts>
- <package name="registration" extends="struts-default">
- <action name="addUser" class="addUserAction">
- <result>success.jsp</result>
- </action>
- </package>
- </struts>