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就能正常的一起工作了
时间: 2024-10-09 13:47:08