Struts2 中xml的格式说明

本文详细介绍了Struts框架的配置方法,包括Bean定义、包配置、结果类型、拦截器及Action配置等内容。通过实例展示了如何利用这些配置实现灵活的业务逻辑处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<struts>    

 

    <!--用于对bean的定义,置于Contatiner中-->    

    <bean type="类型" name="实现类名称(为空则取默认值default)" class="实现类全路径" static="true/false(是否只是静态注入)" scope="default|request|session|singleton|thread"/>    

        

    <constant name="param1" value="value1">     

    <!--用于对bean参数或常量-->    

        

        

 <package name="包名" namespace="/ 或 /xxx 或 /xxx/yyy " extends="struts-default(多个用逗号分隔,自动继承)" abstract="true/false (true:被子类扩展时才能被使用)" strict-method-invocation="">    

             <result-types>    

                <result-type name="结果类型名称" class="结果类型实现类" default="是否为默认的">    

                    <param name="param1">value1</param>    

                </result-type>    

              </result-types>    

            <interceptors>    

                <interceptor name="栏截器名称" class="栏截器实现类" >    

                        <param name="param1">value1</param>    

                </interceptor>        

          </interceptors>    

            <interceptor-stack name="栏截器堆栈名称">    

                    <interceptor-ref name="栏截器名称1|栏截器堆栈名称1">    

                        <param name="param1">value1</param>    

                    </interceptor-ref>    

                  <interceptor-ref name="栏截器名称2|栏截器堆栈名称2">    

                    <interceptor-ref name="栏截器名称3||栏截器堆栈名称3">    

          </interceptor-stack>    

          <interceptor-stack name="">    

                    。。。。。。    

          </interceptor-stack>    

              

          <default-interceptor-ref name="栏截器名称|栏截器堆栈名称">    

            <default-class-ref class=""/>    

                

       <global-results>    

           <result name="ACTION的返回值(不设置默认取success)" type="结果类型名称(如果为空则取本包或父包中result-type.default=true的)">    

            [<param name="param1">value1</param>|value值(需要result-type.class类中有DEFAULT_PARAM = 默认参数名,来对应value值)  ]    

           </result>    

       </global-results>    

    

    

       <global-exception-mappings>    

           <exception-mapping name ="为空取result属性" exception="java.lang.Exception" result="对应global-results.result.name">    

            <param name="param1">value1</param>    

           </exception-mapping>    

       </global-exception-mappings>    

    

       <action name="支持通配符 (如[*!*|User_*|*]),在method 或result中可以使用{1}或{2}表示第一个或第二个通配符值" class="如果未配置则取default-class" method="未定义则从url中获取,未取到则使用execute">    

            <result name="ACTION的返回值(不设置默认取success)" type="结果类型名称(如果为空则取result-type.default=true的)">    

            [<param name="param1">value1</param>|value值(需要result-type.class类中有DEFAULT_PARAM = 默认参数名,来对应value值)  ]    

           </result>    

            <!--本pagckage 和父package 中的global-results中的result 自动被添加进来 -->  

              

           <exception-mapping name ="为空取result属性" exception="java.lang.Exception" result="对应action-results.result.name 或 global-results.result.name">    

            <param name="param1">value1</param>    

           </exception-mapping>  

           <!--本pagckage 和父package 中的global-exception-mappings中的exception-mapping 自动被添加进来-->    

             

             

           <interceptor-ref name="栏截器名称1">    

                        <param name="param1">value1</param>(用于覆盖“栏截器名称1”定义时的参数)    

                    <interceptor-ref name="栏截器堆栈名称1">    

                        <param name="堆栈内栏截器名称1.param1">value1</param>(用于覆盖(栏截器堆栈名称1中某个栏截器)定义时的参数)    

                    </interceptor-ref>   

                    <!--如果未定义interceptor,则从本包中取默认的拦截器,没有默认则到父包中找-->   

                      

                    <allowed-methods>    

                    允许的方法名,多个方法名用逗号分隔    

                  </allowed-methods>    

       </action>    

           

       <default-action-ref name="name">    

          <include file="包含其它xml文件"/>

   </package>    

   </struts>    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值