<?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。
6438

被折叠的 条评论
为什么被折叠?



