zoukankan      html  css  js  c++  java
  • 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 整合完毕

  • 相关阅读:
    abap程序之间调用
    java-response-乱码解决
    java-servlet:response/request
    同平台不允许同时登陆的方案(不同平台可同时登陆)
    @Async 异步http请求,汇总数据处理
    ABAP-VOFM FOR MM-PO PRICE
    ABAP-CDS
    PI-Custom adapter module
    Vue中在移动端如何判断设备是安卓还是ios
    v-show在select中选择bug
  • 原文地址:https://www.cnblogs.com/blogxiao/p/7599647.html
Copyright © 2011-2022 走看看