解读struts2的原始默认配置文件struts2-default.xml

来源:互联网 发布:sql语句教程 pdf 编辑:程序博客网 时间:2024/06/05 11:05
<!--struts2默认配置-->

<!--文件约束对于的键值对的键-->

<struts>

  <!--配置bean--> 
    <bean class="com.opensymphony.xwork2.ObjectFactory" name="xwork" /> 
    <bean type="com.opensymphony.xwork2.ObjectFactory" name="struts" class="org.apache.struts2.impl.StrutsObjectFactory" /> 
  
 <!--定义bean--> 
    <bean type="com.opensymphony.xwork2.ActionProxyFactory" name="xwork" class="com.opensymphony.xwork2.DefaultActionProxyFactory"/> 
    <bean type="com.opensymphony.xwork2.ActionProxyFactory" name="struts" class="org.apache.struts2.impl.StrutsActionProxyFactory"/> 
    <bean type="com.opensymphony.xwork2.FileManager" class="com.opensymphony.xwork2.util.fs.DefaultFileManager" name="system" scope="singleton"/>


    <!-- 笨拙的解决ognl,因为目前没有一种刷新页面的方式,有待于以后框架开发者的完善-->
    <bean type="ognl.PropertyAccessor" name="java.util.ArrayList" class="com.opensymphony.xwork2.ognl.accessor.XWorkListPropertyAccessor" />
    <bean type="ognl.PropertyAccessor" name="java.util.HashSet" class="com.opensymphony.xwork2.ognl.accessor.XWorkCollectionPropertyAccessor" />
    <bean type="ognl.PropertyAccessor" name="java.util.HashMap" class="com.opensymphony.xwork2.ognl.accessor.XWorkMapPropertyAccessor" />

<!--默认继承的struts2的配置包-->
    <package name="struts-default" abstract="true">
        <result-types>
           <!--所有结果类型:对应的实体类-->

        </result-types>

<!--配置拦截器以及拦截器栈-->

        <interceptors>
            <!--所有拦截器的配置:关联的实体类-->

    <interceptor name="alias" class="com.opensymphony.xwork2.interceptor.AliasInterceptor"/> 

                ......

            <!-- 基本配置的一个基栈 -->
            <interceptor-stack name="basicStack">
                ......
            </interceptor-stack>

            <!-- 验证器和工作流的栈的例子 -->
            <interceptor-stack name="validationWorkflowStack">
                <interceptor-ref name="basicStack"/>
                <interceptor-ref name="validation"/>
                <interceptor-ref name="workflow"/>
            </interceptor-stack>

            <!--文件上传的栈的例子-->
            <interceptor-stack name="fileUploadStack">
                <interceptor-ref name="fileUpload"/>
                <interceptor-ref name="basicStack"/>
            </interceptor-stack>

            <!--  model-driven 拦截器栈的例子  -->
            <interceptor-stack name="modelDrivenStack">
                <interceptor-ref name="modelDriven"/>
                <interceptor-ref name="basicStack"/>
            </interceptor-stack>

            <!-- 转发到一个Action的栈的例子 -->
            <interceptor-stack name="chainStack">
                <interceptor-ref name="chain"/>
                <interceptor-ref name="basicStack"/>
            </interceptor-stack>

            <!--国际化例子的栈: i18n stack -->
            <interceptor-stack name="i18nStack">
                <interceptor-ref name="i18n"/>
                <interceptor-ref name="basicStack"/>
            </interceptor-stack>

            //常用的拦截器栈
            <interceptor-stack name="paramsPrepareParamsStack">
              ......              
            </interceptor-stack>
           
            //默认的拦截器栈
            <interceptor-stack name="defaultStack">
             ...
            </interceptor-stack>


            //completeStack指向默认的拦截器栈

            <interceptor-stack name="completeStack">
                <interceptor-ref name="defaultStack"/>
            </interceptor-stack>

            //特殊的拦截器栈:executeAndWaitStack
            <interceptor-stack name="executeAndWaitStack">
                <interceptor-ref name="execAndWait">
                    <param name="excludeMethods">input,back,cancel</param>
                </interceptor-ref>
                <interceptor-ref name="defaultStack"/>
                <interceptor-ref name="execAndWait">
                    <param name="excludeMethods">input,back,cancel</param>
                </interceptor-ref>
            </interceptor-stack>
       </interceptors>

       <!--引用默认的拦截器栈-->
        <default-interceptor-ref name="defaultStack"/> 
<!--默认的处理类-->
        <default-class-ref class="com.opensymphony.xwork2.ActionSupport" /> 
    </package>
</struts>
0 0
原创粉丝点击