1.复制struts2-spring-plugin-x-x-x.jar和相应的spring.jar到/WEB-INF/lib目录下。

  struts2-spring-plugin-x-x-x.jar在struts2的lib里,x-x-x为版本号

 

2.在struts.properties中设置struts.objectFactory属性值

struts.properties

struts.objectFactory = spring

或者是在XML文件中进行常量配置

struts.xml

<struts>         <constant name="struts.objectFactory" value="spring" />  </struts>

3.在web.xml添加Spring上下文参数和监听器

<!-- 用来定位Spring XML文件的上下文配置 -->  <context-param>         <param-name>contextConfigLocation</param-name>         <param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value>  </context-param>


 

web.xml

<listener>         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  </listener>

 

4.修改你的Struts配置文件

struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
 <!--  设置struts.objectFactory属性值   -->
 <constant name="struts.objectFactory" value="spring"/>
 
 <package name="struts-config" namespace="/" extends="struts-default">
 
  <action name="login" class="loginAction"
   <result name="frame">/frame.jsp </result>
  </action>
 </package>
</struts>

applicationConext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans
 xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:p="http://www.springframework.org/schema/p"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
 <bean name="loginAction" class="com.system.action.loginAction" scope="prototype">
  
 </bean>
</beans>

struts.xml文件中的<action name="" class="">中的class属性由类的路径改为自定义类名

applicationConext.xml中的

<bean name="自定义类名(同struts.xml文件的class定义相同)"  class="类的路径">

5.好了,现在你的Struts2和Spring就能正常的一起工作了