如何使用Spring来管理Struts中的Action

如题所述

但是bean创建完成之后,还是由struts容器来管理其生命周期。配置方式:
(1)struts.xml中:xml 代码:< constant name="struts.objectFactory" value="spring" /
(2)struts.properties中:java 代码:struts.objectFactory=spring
即可,如果在Action中有依赖于其它的BEAN,也会被自动注入进来。这时候,Action实例是以prototype方式创建的,SPRING会为每个请求创建一个ACTION的实例。
在某些时候,你可能希望不仅仅让SPRING创建和装配Action对象,还希望让SPRING完全管理这些对象,如希望使用AOP或者希望使用acegi时。这时候,只需要在spring的配置文件中定义这些action 即可。如在applicationContext.xml文件中:xml 代码:< bean id="user" class="com.myapp.web.action.user.UserAction"/
然后在action-mapping中,指定class="user"即可。
需要注意的一个地方:Spring中的缺省作用域是Singleton作用域。而往往Action属于有状态的bean,应该使用prototype作用域。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-10-23
struts-config.xml中action的 type="org.springframework.web.struts.DelegatingActionProxy" 然后applicationContext.xml中添加相对应的bean就行了]
第2个回答  2013-10-24
很多用Spring进行管理的,但这样会造成业务层和控制层相关,如果使用struts则会好一点]
第3个回答  2013-10-23
用spring,spring对类的管理绝对一流,也完全没有影响action原本的功能]
第4个回答  2013-10-24
肯定是spring啦,绝大多数都是用这个!]

如何使用Spring来管理Struts中的Action
(1)struts.xml中:xml 代码:< constant name="struts.objectFactory" value="spring" \/ (2)struts.properties中:java 代码:struts.objectFactory=spring 即可,如果在Action中有依赖于其它的BEAN,也会被自动注入进来。这时候,Action实例是以prototype方式创建的,SPRING会为每个请求创建一个ACTION的实例。

如何使用Spring来管理Struts中的Action
添加struts2-spring-plugin的jar包,action配置的class改为spring的bean id值

spring中如何利用struts的DispatchAction
1. 假设struts中有一个action: UserAction <action name="User" path="\/sysadmin\/usermgt\/useraction" parameter="method" type="org.springframework.web.struts.DelegatingActionProxy" \/> \/\/ 注意这里,要用type=''是用spring的 2. spring对应的配置 <bean name="\/sysadmin\/usermgt\/useraction"...

spring如何管理action
整合spring+struts2需要用到struts-spring-plugin。你想要用spring去管理action。就需要将action作为bean配置到spring容器。struts2的action要求是多例的。所以你要写prototype,确保每来一个请求都对应一个action。当你在spring里配置了action这个bean。需要在struts.xml里写class="spring里的bean的名字",那么,...

spring是怎样通过配置文件来管理action,SessionFactory
也可以使用spring扩展的控制器代理,利用path和name对应关系将action和spring的bean关联起来,通过管理bean利用代理控制器,再action中注入相应的bo,也就是业务处理对象,而控制和跳转其实还是struts的action负责,spring只是注入相应的业务逻辑对象。主要是让spring来告诉action做事的规则。

Struts2注解式开发,怎么让Spring管理action的创建
这个意思就是读取xxx.xxx.xxx.action包里的所有类,只要类里有注解说自己是Action的,都会被自动创建并放到spring里统一管理。PS,现在Controller层一般都直接用你springmvc了,用struts2一般是为了同时用到它的tags来编写jsp网页,不过如果view层用ajax,那就没必要非得从后台用你struts的标签来编写jsp了...

...struts2如何用springIOC容器中的action对象?
1.2:用org.springframework.web.struts.DelegatingActionProxy类截获Action的生成 <action attribute="loginForm"input="\/login.jsp"name="loginForm"path="\/login"scope="request"type="org.springframework.web.struts.DelegatingActionProxy" \/> <\/action-mappings> 2.将Action的生成在这里截取掉,命令...

把struts2的action交给spring去 管理和注入属性, struts.xml怎么写...
添加:struts2-spring-plugin.jar 在struts2的xml文件里面添加一句:<constant name="struts2.ObjectFactory" value="Spring"\/>这一句 如果你的struts2版本比较高,也可以不要加这个,因为他内部已经默认添加了这句 然后<action name="" class="..."\/>这个name属性就是引用spring配置里面的bean的id ...

struts2的action每次访问都重新创建一个对象,那spring的ioc是怎么...
在spring的配置文件中配置各个java bean 的时,可以根据实际情况配置该bean是单态bean还是多态bean,充当action的bean一般都配置成单态的,启动web服务器的时候,IOC容器加载spring配置文件,然后生成各个bean的实例,同时各个bean之间的依赖关系也已经建立了。

spring的事务如何对struts2的action起作用?
不是这样用的,你可以把两个DAO的方法,封装成一个service的方法,然后对这个service方法的进行事物控制就行了。

相似回答
大家正在搜