Spring&Struts2整合,XML方式怎么实现 Action由Struts创建 Spring注入属性
如果用注解,Action本身不需要配置,只要在Action的字段上加上Resource标签就可以实现。但问题是怎么用XML的形式实现呢?可以在Action的方法里面调试t...
如果用注解,Action本身不需要配置,只要在Action的字段上加上Resource标签就可以实现。
但问题是怎么用XML的形式实现呢?
可以在Action的方法里面调试this属性,如果是代理类,证明Action是由Spring来创建的,否则是由Struts来创建 展开
但问题是怎么用XML的形式实现呢?
可以在Action的方法里面调试this属性,如果是代理类,证明Action是由Spring来创建的,否则是由Struts来创建 展开
2个回答
展开全部
Spring&Struts2整合,XML方式实现 Action由Struts创建 Spring注入属性:
可以在Action的方法里面调试this属性,证明Action是由Spring来创建的如果用注解,具体解决方案如下:
标签内部使用<.包;/classpath;listener-class>contextConfigLocation<.xml<param-name>让spring容器来管理action;com.xx;
<:beans;
<
<、struts;myAction",原先<
<中的class是一个“包;;context-param>
</,如果想要spring来为我们保管;
<.ContextLoaderListener<.类”.MyAction"、导入struts2-spring-plugin;/myAction",并负责为action进行属性注入.action;listener>/.jar包,那么
<;
2;
3.context;/
<、web;>注入biz等对象。
4;.xml中配置
< class=".web;listener>,那么如果这样该action还是由struts容器管理!-- spring配置文件位置 -->listener-class>/param-name>param-value>:
1.xml中;
<prototype"context-param>
<action>!-- spring监听器 -->、对应的Action组件类中;org;bean>.springframework;bean id=" scope="property>。
这里应该把class的值改为第三步中action上标注的",从而需要该action的时候就会去spring的容器中寻找id为myAction的那个action实例,那么;param-value>
可以在Action的方法里面调试this属性,证明Action是由Spring来创建的如果用注解,具体解决方案如下:
标签内部使用<.包;/classpath;listener-class>contextConfigLocation<.xml<param-name>让spring容器来管理action;com.xx;
<:beans;
<
<、struts;myAction",原先<
<中的class是一个“包;;context-param>
</,如果想要spring来为我们保管;
<.ContextLoaderListener<.类”.MyAction"、导入struts2-spring-plugin;/myAction",并负责为action进行属性注入.action;listener>/.jar包,那么
<;
2;
3.context;/
<、web;>注入biz等对象。
4;.xml中配置
< class=".web;listener>,那么如果这样该action还是由struts容器管理!-- spring配置文件位置 -->listener-class>/param-name>param-value>:
1.xml中;
<prototype"context-param>
<action>!-- spring监听器 -->、对应的Action组件类中;org;bean>.springframework;bean id=" scope="property>。
这里应该把class的值改为第三步中action上标注的",从而需要该action的时候就会去spring的容器中寻找id为myAction的那个action实例,那么;param-value>
2014-05-24
展开全部
让spring容器来管理action,并负责为action进行属性注入,那么:
1、导入struts2-spring-plugin.jar包;
2、web.xml中配置
<!-- spring配置文件位置 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:beans.xml</param-value>
</context-param>
<!-- spring监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
3、对应的Action组件类中,如果想要spring来为我们保管,那么
<bean id="myAction" class="com.xx.action.MyAction" scope="prototype">
</bean>
然后该标签内部使用<property>注入biz等对象。
4、struts.xml中,原先<action>中的class是一个“包.包.类”,那么如果这样该action还是由struts容器管理。
这里应该把class的值改为第三步中action上标注的"myAction",从而需要该action的时候就会去spring的容器中寻找id为myAction的那个action实例。
1、导入struts2-spring-plugin.jar包;
2、web.xml中配置
<!-- spring配置文件位置 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:beans.xml</param-value>
</context-param>
<!-- spring监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
3、对应的Action组件类中,如果想要spring来为我们保管,那么
<bean id="myAction" class="com.xx.action.MyAction" scope="prototype">
</bean>
然后该标签内部使用<property>注入biz等对象。
4、struts.xml中,原先<action>中的class是一个“包.包.类”,那么如果这样该action还是由struts容器管理。
这里应该把class的值改为第三步中action上标注的"myAction",从而需要该action的时候就会去spring的容器中寻找id为myAction的那个action实例。
追问
我的问题类似于你第四种情况,但是,你这样配置的话Struts还是会去找Spring。我的需求是Struts不需要找Spring的情况下,Spring也能为Action注入属性。
使用注释的方式可以实现这一点,问题是怎么用XML的配置方式来实现那?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询