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就能正常的一起工作了
本文出自 “没有水勒鱼” 博客,请务必保留此出处http://javaqun.blog.51cto.com/10687700/1704870
原文地址:http://javaqun.blog.51cto.com/10687700/1704870