使IOC容器来管理Struts2的Action!java
① 正常加入Struts2
② 在Spring的IOC容器中配置Struts2的Action
特别注意:在IOC容器中配置Struts2的Action时,须要配置scope属性,且必须指定为prototype!spring
<bean id="personAction" class="com.lty.spring.struts2.action.PersonAction" scope="prototype"> <property name="personService" ref="personService"></property> </bean>
③ 配置Struts2的配置文件:action节点的class属性须要指向IOC容器中该bean的idapp
<action name="person-save" class="personAction"> <result>/success.jsp</result> </action>
④ 加入struts2-spring-plugin-2.3.15.3.jarjsp
经过添加struts2-spring-plugin-2.3.15.3.jar之后,Struts2会先从IOC容器中获取Action的实例ui
if (appContext.containsBean(beanName)) { o = appContext.getBean(beanName); } else { Class beanClazz = getClassInstance(beanName); o = buildBean(beanClazz, extraContext); }