<?xml version="1.0" encoding="GBK"?> <!-- 下面指定Struts 2.1配置文件的DTD信息 --> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <!-- struts是Struts 2配置文件的根元素 --> <struts> <!-- 下面元素可以出现零次,也可以出现无数次 --> <constant name="" value="" /> <!-- 下面元素可以出现零次,也可以出现无数次 --> <bean type="" name="" class="" scope="" static="" optional="" /> <!-- 下面元素可以出现零次,也可以出现无数次 --> <include file="" /> <!-- package元素是Struts配置文件的核心,该元素可以出现零次,或者无数次 --> <package name="必填的包名" extends="" namespace="" abstract="" externalReferenceResolver> <!-- 该元素可以出现,也可以不出现,最多出现一次 --> <result-types> <!-- 该元素必须出现,可以出现无数次--> <result-type name="" class="" default="true|false"> <!-- 下面元素可以出现零次,也可以无数次 --> <param name="参数名">参数值</param>* </result-type> </result-types> <!-- 该元素可以出现,也可以不出现,最多出现一次 --> <interceptors> <!-- 该元素的interceptor元素和interceptor-stack至少出现其中之一, 也可以二者都出现 --> <!-- 下面元素可以出现零次,也可以无数次 --> <interceptor name="" class=""> <!-- 下面元素可以出现零次,也可以无数次 --> <param name="参数名">参数值</param>* </interceptor> <!-- 下面元素可以出现零次,也可以无数次 --> <interceptor-stack name=""> <!-- 该元素必须出现,可以出现无数次--> <interceptor-ref name=""> <!-- 下面元素可以出现零次,也可以无数次 --> <param name="参数名">参数值</param>* </interceptor-ref> </interceptor-stack> </interceptors> <!-- 下面元素可以出现零次,也可以无数次 --> <default-interceptor-ref name=""> <!-- 下面元素可以出现零次,也可以无数次 --> <param name="参数名">参数值</param> </default-interceptor-ref> <!-- 下面元素可以出现零次,也可以无数次 --> <default-action-ref name=""> <!-- 下面元素可以出现零次,也可以无数次 --> <param name="参数名">参数值</param>* </default-action-ref>? <!-- 下面元素可以出现零次,也可以无数次 --> <global-results> <!-- 该元素必须出现,可以出现无数次--> <result name="" type=""> <!-- 该字符串内容可以出现零次或多次 --> 映射资源 <!-- 下面元素可以出现零次,也可以无数次 --> <param name="参数名">参数值</param>* </result> </global-results> <!-- 下面元素可以出现零次,也可以无数次 --> <global-exception-mappings> <!-- 该元素必须出现,可以出现无数次--> <exception-mapping name="" exception="" result=""> 异常处理资源 <!-- 下面元素可以出现零次,也可以无数次 --> <param name="参数名">参数值</param>* </exception-mapping> </global-exception-mappings> <action name="" class="" method="" converter=""> <!-- 下面元素可以出现零次,也可以无数次 --> <param name="参数名">参数值</param>* <!-- 下面元素可以出现零次,也可以无数次 --> <result name="" type=""> 映射资源 <!-- 下面元素可以出现零次,也可以无数次 --> <param name="参数名">参数值</param>* </result> <!-- 下面元素可以出现零次,也可以无数次 --> <interceptor-ref name=""> <!-- 下面元素可以出现零次,也可以无数次 --> <param name="参数名">参数值</param>* </interceptor-ref> <!-- 下面元素可以出现零次,也可以无数次 --> <exception-mapping name="" exception="" result=""> 异常处理资源 <!-- 下面元素可以出现零次,也可以无数次 --> <param name="参数名">参数值</param>* </exception-mapping> </action> </package>* <!-- unknown-handler-stack元素可出现零次或1次 --> <unknown-handler-stack> <!-- unknown-handler-ref元素可出现零次或多次 --> <unknown-handler-ref name=" ">...</unknown-handler-ref>* </unknown-handler-stack>? <struts> |
下面是struts2配置文件的DTD代码:
<!-- Struts configuration DTD. Use the following DOCTYPE <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> --> <!ELEMENT struts ((package|include|bean|constant)*, unknown-handler-stack?)> <!ELEMENT package (result-types?, interceptors?, default-interceptor-ref?, default-action-ref?, global-results?, global-exception-mappings?, action*)> <!ATTLIST package name CDATA #REQUIRED extends CDATA #IMPLIED namespace CDATA #IMPLIED abstract CDATA #IMPLIED externalReferenceResolver NMTOKEN #IMPLIED > <!ELEMENT result-types (result-type+)> <!ELEMENT result-type (param*)> <!ATTLIST result-type name CDATA #REQUIRED class CDATA #REQUIRED default (true|false) "false" > <!ELEMENT interceptors (interceptor|interceptor-stack)+> <!ELEMENT interceptor (param*)> <!ATTLIST interceptor name CDATA #REQUIRED class CDATA #REQUIRED > <!ELEMENT interceptor-stack (interceptor-ref+)> <!ATTLIST interceptor-stack name CDATA #REQUIRED > <!ELEMENT interceptor-ref (param*)> <!ATTLIST interceptor-ref name CDATA #REQUIRED > <!ELEMENT default-interceptor-ref (param*)> <!ATTLIST default-interceptor-ref name CDATA #REQUIRED > <!ELEMENT default-action-ref (param*)> <!ATTLIST default-action-ref name CDATA #REQUIRED > <!ELEMENT global-results (result+)> <!ELEMENT global-exception-mappings (exception-mapping+)> <!ELEMENT action (param|result|interceptor-ref|exception-mapping)*> <!ATTLIST action name CDATA #REQUIRED class CDATA #IMPLIED method CDATA #IMPLIED converter CDATA #IMPLIED > <!ELEMENT param (#PCDATA)> <!ATTLIST param name CDATA #REQUIRED > <!ELEMENT result (#PCDATA|param)*> <!ATTLIST result name CDATA #IMPLIED type CDATA #IMPLIED > <!ELEMENT exception-mapping (#PCDATA|param)*> <!ATTLIST exception-mapping name CDATA #IMPLIED exception CDATA #REQUIRED result CDATA #REQUIRED > <!ELEMENT include (#PCDATA)> <!ATTLIST include file CDATA #REQUIRED > <!ELEMENT bean (#PCDATA)> <!ATTLIST bean type CDATA #IMPLIED name CDATA #IMPLIED class CDATA #REQUIRED scope CDATA #IMPLIED static CDATA #IMPLIED optional CDATA #IMPLIED > <!ELEMENT constant (#PCDATA)> <!ATTLIST constant name CDATA #REQUIRED value CDATA #REQUIRED > |