+ -
当前位置:首页 → 问答吧 → struts2和spring整合时配置文件中的一点疑惑

struts2和spring整合时配置文件中的一点疑惑

时间:2011-08-15

来源:互联网

我在网上看的

在Spring配置文件\WebContent\WEB-INF\applicationContext-action.xml中的相应配置为:

<bean id="checkSoleContractNameAction"   class="com.heyang.module.contract.action.CheckSoleContractNameAction" singleton="false">
        <property name="contractService">
            <ref bean="contractService"/>
        </property>
</bean>

在Struts2配置文件WebContent\WEB-INF\struts-cfg\contract\struts.xml中的相应设置为:
<action name="checkSoleContractName" class="checkSoleContractNameAction" method="execute"/>

由上面的XML知道,如果我们取得名为checkSoleContractNameAction的bean,Spring将通过反射调用一个com.heyang.module.contract.action.CheckSoleContractNameAction类的实例


但是我现在的项目中的spring和Struts2配置有点不一样,我的配置是这样的

在Spring配置文件\WebContent\WEB-INF\applicationContext-action.xml中的相应配置为:

<bean id="checkSoleContractNameAction"   class="com.heyang.module.contract.action.CheckSoleContractNameAction" singleton="false">
        <property name="contractService">
            <ref bean="contractService"/>
        </property>
</bean>

在Struts2配置文件WebContent\WEB-INF\struts-cfg\contract\struts.xml中的相应设置为:
<action name="checkSoleContractName" class="com.heyang.module.contract.action.CheckSoleContractNameAction" method="execute"/>

我的问题是  
1.我要取得我在struts配置文件中配置的checkSoleContractName Action实例,是怎么得到的,是通过spring注入的还是由struts objectFactory生成的,还是由其他方法生成的。

2.在实际项目中应该那种方法是推荐使用的。

作者: ldhscxl   发布时间: 2011-08-15

其实就是已经把action交给spring管理了,只不过你没用spring管理的那个。按照顺序既然在struts.xml中能找到相应的Action那么估计就不会在往spring里面找的。(个人理解)

作者: liushuo1987   发布时间: 2011-08-15

你的写法有点问题吧, 你应该把action的实例生成交给string 然后通过string来获取实例 这样才对 方正我项目中是这样做的

作者: lys278901167   发布时间: 2011-08-15

我做的两个项目中都是按下面这样写的,也没有出现过问题

<action name="checkSoleContractName" class="com.heyang.module.contract.action.CheckSoleContractNameAction" method="execute"/>

而不是按下面这种

<action name="checkSoleContractName" class="checkSoleContractNameAction" method="execute"/>

作者: ldhscxl   发布时间: 2011-08-15

你应该把action的实例生成交给string

作者: syhsjy   发布时间: 2011-08-15

热门下载

更多