spring 整合struts

1.例子:未被spring整合

struts.xml 的配置文件

    <constant name="struts.enable.DynamicMethodInvocation" value="true" />
    <constant name="struts.configuration.xml.reload" value="true"/>
    <!--配置扩展名 .do-->
    <constant name="struts.action.extension" value="do"></constant>

    <package name="default" namespace="/" extends="struts-default">
<!-- {1} 代表第一个*  {2} 代表第二个*   -->
        <action name="*_*" class="com.test.controller.{1}Action" method="{2}">
            <result name="success">index.jsp</result>
        </action>
    </package>

注意这个配置,全类名。 struts 通过actionMaping 的配置找到这个类

测试:调用com.test.controller 包下的StudentAction 这个类的doGetStudentInfo()方法

前台调用这个action的方式  就是

注意:这里是Student首字母大写,是StudentAction 的前半部分

 

2. 例子:spring整合之后

struts.xml 的配置文件

<struts>
<!--由spring 取代struts 创建对象的实例 -->
    <constant name="struts.objectFactory" value="spring" />
    <!--配置spring自动装配实例-->
    <constant name="struts.objectFactory.spring.autoWire" value="true"></constant> 
    <constant name="struts.enable.DynamicMethodInvocation" value="true" />
    <constant name="struts.configuration.xml.reload" value="true"/>
    <!--配置扩展名 .do-->
    <constant name="struts.action.extension" value="do"></constant>

    <package name="default" namespace="/" extends="struts-default">

        <action name="*_*" class="{1}Action" method="{2}">
            <result name="success">index.jsp</result>
        </action>
    </package>

    <!-- <include file="example.xml"/> -->

</struts>

注意这个地方:已经变成了spring 自动创建的beanid,这里自动创建的beanid 是通过注解生成的

  

这个注解生成的beanid 是studentAction  ,注意这里的首字母是小写,这是spring创建实例的时候转化的。

测试:前台进行访问

 

报错:原因,时候应为这时候要调用的action 实例名已经是studenAction 而不是StudentAction

 

正确。

此时spring配置文件不用特别的设置配置,已经将spring 和 struts 整合完毕

 

转载于:https://www.cnblogs.com/blogxiao/p/7599647.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值