`

struts.xml配置详解

阅读更多
<?xml version="1.0" encoding="GBK"?>
<!-- 下面指定Struts 2配置文件的DTD信息 -->
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">

<!-- struts是Struts 2配置文件的根元素 -->
<struts>
    <!-- 下面元素可以出现0次,也可以无限多次 -->
    <constant name="" value="" />

    <!-- 下面元素可以出现0次,也可以无限多次 -->
    <bean type="" name="" class="" scope="" static="" optional="" />

    <!-- 下面元素可以出现0次,也可以无限多次 -->
    <include file="" />
	
    <!-- package元素是Struts配置文件的核心,该元素可以出现0次,或者无限多次 -->
    <package name="必填的包名" extends="" namespace="" abstract=""
        externalReferenceResolver>
        <!-- 该元素可以出现,也可以不出现,最多出现一次 -->
        <result-types>
            <!-- 该元素必须出现,可以出现无限多次-->
            <result-type name="" class="" default="true|false">
                <!-- 下面元素可以出现0次,也可以无限多次 -->
                <param name="参数名">参数值</param>*
            </result-type>

        </result-types>

        <!-- 该元素可以出现,也可以不出现,最多出现一次 -->
        <interceptors>
        <!-- 该元素的interceptor元素和interceptor-stack至少出现其中之一,也可以二者都出现 -->

            <!-- 下面元素可以出现0次,也可以无限多次 -->
            <interceptor name="" class="">
                <!-- 下面元素可以出现0次,也可以无限多次 -->
                <param name="参数名">参数值</param>*
            </interceptor>
			
            <!-- 下面元素可以出现0次,也可以无限多次 -->
            <interceptor-stack name="">
                <!-- 该元素必须出现,可以出现无限多次-->
                <interceptor-ref name="">
                    <!-- 下面元素可以出现0次,也可以无限多次 -->
                    <param name="参数名">参数值</param>*
                </interceptor-ref>
            </interceptor-stack>
        </interceptors>

        <!-- 下面元素可以出现0次,也可以无限多次 -->
        <default-interceptor-ref name="">
            <!-- 下面元素可以出现0次,也可以无限多次 -->
            <param name="参数名">参数值</param>
        </default-interceptor-ref>

        <!-- 下面元素可以出现0次,也可以无限多次 -->
        <default-action-ref name="">
            <!-- 下面元素可以出现0次,也可以无限多次 -->
            <param name="参数名">参数值</param>*
        </default-action-ref>?

        <!-- 下面元素可以出现0次,也可以无限多次 -->
        <global-results>
            <!-- 该元素必须出现,可以出现无限多次-->
            <result name="" type="">
                <!-- 下面元素可以出现0次,也可以无限多次 -->
                <param name="参数名">参数值</param>*
            </result>
        </global-results>

        <!-- 下面元素可以出现0次,也可以无限多次 -->
        <global-exception-mappings>
            <!-- 该元素必须出现,可以出现无限多次,异常处理资源-->
            exception-mapping name="" exception="" result="">
                <!-- 下面元素可以出现0次,也可以无限多次 -->
                <param name="参数名">参数值</param>*
            </exception-mapping>
        </global-exception-mappings>

        <action name="" class="" method="" converter="">
            <!-- 下面元素可以出现0次,也可以无限多次 -->
            <param name="参数名">参数值</param>*
            <!-- 下面元素可以出现0次,也可以无限多次 ,映射资源-->
            <result name="" type="">
                <!-- 下面元素可以出现0次,也可以无限多次 -->
                <param name="参数名">参数值</param>*
            </result>
			
            <!-- 下面元素可以出现0次,也可以无限多次 -->
            <interceptor-ref name="">
                <!-- 下面元素可以出现0次,也可以无限多次 -->
                <param name="参数名">参数值</param>*
            </interceptor-ref>

            <!-- 下面元素可以出现0次,也可以无限多次,异常处理资源 -->
            <exception-mapping name="" exception="" result="">
                <!-- 下面元素可以出现0次,也可以无限多次 -->
                <param name="参数名">参数值</param>*
            </exception-mapping>
        </action>
    </package>*
<struts>

 上面的struts.xml配置文件是一个非常全面的配置文件,包含了Struts 2的全部配置元素。

 

另外注意一下package标签

<package … />标签是用来把那些需要共享的通用信息——例如拦截器堆栈或URL命名空间——的配置组织在一起的。它通常由Action的配置组成,但也可以包括任何类型的配置信息。它还可以用来组织管理各自独立的功能——它们也可以被进一步拆分到不同的配置文件中。
这个标签的属性包括有:
—name ——开发人员为这个Package指定的唯一的名字。
—extends —— 当前这个Package所继承的Package的名字,被继承的Package中所有的配置信息(包括Action的配置)都可以在新的命名空间下,新的Package里面被使用。

—namespace ——命名空间提供了从URL到Package的映射。也就是说,如果两个不同的Package,其命名空间分别为“package1”和“package2”,那么URL差不多就是
“/myWebApp/package1/my.action” 和“/myWebApp/package2/my.action”这样的形式
—abstract ——如果这个属性的值为“true”,那么这个Package就只是一个配置信息的组合,也就无法通过Package的名字来访问其中配置的Action。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics