struts2中找不到spring配备的class

struts2中找不到spring配置的class

struts2的配置文件

<action name="login" class="userAction">
	<result name="success">/admin/welcome.jsp</result>
	<result name="input">/admin/login.jsp</result>
	<result name="fail">/admin/login.jsp</result>
</action>

 spring配置文件

 

<bean id="userAction" class="com.user.action.UserLoginAction" scope="prototype">
		<property name="userService">
			<ref bean="userService"/>
		</property>
</bean>

 struts配置文件中找不到userAction,需要添加struts2-spring-plugin.jar

 

<引用>

当引入这个插件后,原先所struts创建的action类,交给了spring创建。在struts2-spring-plugin.jar中有一个 struts-plugin.xml,里面声明了action类由spring工厂创建。在struts2插件文档里,这样写着“The Spring Plugin works by overriding the Struts ObjectFactory to enhance the creation of core framework objects ”这个插件重写了struts的对象工厂,当创建一个action类时,它会根据struts的配置文件的class属性的值与spring配置文件中的id属性的值相匹配。如果没有与之相匹配,将会像没有使用这个插件前一样创建,然后由spring自动装配。