(4) struts.xml文件结构
struts.xml文件时整个Struts2框架的核心,下面提供了一个最完整的struts.xml文件,这个文件没有任何实际意义,仅仅是一个struts.xml文件的示范:
view plaincopy to clipboardprint?
01.<?xml version="1.0" encoding="UTF-8"?>
02.<!-- 下面指定Struts2配置文件的DTD信息 -->
03. <!DOCTYPE struts PUBLIC
04. "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
05. "http://struts.apache.org/dtds/struts-2.1.dtd">
06. <struts>
07. <!-- 下面的元素可以出现0次也可以无限多次 -->
08. <constant name="" value=""/>
09. <!-- 下面的元素可以出现0次也可以无限多次 -->
10. <bean type="" name="" class="" scope="" static="" optional=""/>
11. <!-- 下面的元素可以出现0次也可以无限多次 -->
12. <include file=""/>
13. <!-- package元素师Struts配置文件的核心,该元素可以出现0此,或者无限多次 -->
14. <package name="必须要填写的包" extends="" namespace="" abstract="">
15. <!-- 该元素可以出现,也可以不出现,最多出现一次 -->
16. <result-types>
17. <!-- 该元素必须要出现,可以出现多次 -->
18. <result-type name="" class="" default="true|false">
19. <!-- 下面的元素可以出现0次,也可以出现无限多次 -->
20. <param name="参数名">参数值</param>
21. </result-type>
22. </result-types>
23. <!-- 该元素可以出现,也可以不出现,最多出现一次 -->
24. <interceptors>
25. <!-- 该元素的interceptor元素和interceptor-stack至少出现其中之一,也可以两者都出现 -->
26. <!-- 下面的元素可以出现0次,也可以出现无限多次 -->
27. <interceptor name="" class="">
28. <!-- 下面的元素可以出现0次,也可以出现无限多次 -->
29. <param name="参数名 ">参数值</param>
30. </interceptor>
31. <!-- 下面元素可以出现0次,也可以出现无限多次 -->
32. <interceptor-stack name="">
33. <!-- 该元素必须出现,可以出现无限多次 -->
34. <interceptor-ref name="">
35. <!-- 该元素可以出现0次,也可以出现无限多次 -->
36. <param name="参数名">参数值</param>
37. </interceptor-ref>
38. </interceptor-stack>
39. </interceptors>
40. <!-- 下面的元素可以出现0次也可以无限多次 -->
41. <default-interceptor-ref name="">
42. <!-- 下面的元素可以出现0次也可以无限多次 -->
43. <param name="参数名">参数值</param>
44. </default-interceptor-ref>
45. <!-- 下面的元素可以出现0次也可以无限多次 -->
46. <default-action-ref name="">
47. <!-- 下面的元素可以出现0次也可以无限多次 -->
48. <param name="参数名">参数值</param>
49. </default-action-ref>
50. <global-results>
51. <!-- 该元素必须出现,可以出现无限多次 -->
52. <result name="" type="">
53. <!-- 下面的元素可以出现0次也可以无限多次 -->
54. <param name="参数名">参数值</param>
55. </result>
56. </global-results>
57. <!-- 下面的元素可以出现0次也可以无限多次 -->
58. <global-exception-mappings>
59. <!-- 该元素必须出现,可以出现无限多次 -->
60. <exception-mapping name="" result="" exception="">
61. <!-- 下面的元素可以出现0次也可以无限多次 -->
62. <param name="参数名">参数值</param>
63. </exception-mapping>
64. </global-exception-mappings>
65. <action name="" class="" method="" converter="">
66. <param name=""></param>
67. <result name="" type="">
68. <param name=""></param>
69. </result>
70. <interceptor-ref name="">
71. <param name=""></param>
72. </interceptor-ref>
73. <exception-mapping name="" result="" exception="">
74. <param name=""></param>
75. </exception-mapping>
76. </action>
77. </package>
78. </struts>
<?xml version="1.0" encoding="UTF-8"?>
<!-- 下面指定Struts2配置文件的DTD信息 -->
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<!-- 下面的元素可以出现0次也可以无限多次 -->
<constant name="" value=""/>
<!-- 下面的元素可以出现0次也可以无限多次 -->
<bean type="" name="" class="" scope="" static="" optional=""/>
<!-- 下面的元素可以出现0次也可以无限多次 -->
<include file=""/>
<!-- package元素师Struts配置文件的核心,该元素可以出现0此,或者无限多次 -->
<package name="必须要填写的包" extends="" namespace="" abstract="">
<!-- 该元素可以出现,也可以不出现,最多出现一次 -->
<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>
<global-results>
<!-- 该元素必须出现,可以出现无限多次 -->
<result name="" type="">
<!-- 下面的元素可以出现0次也可以无限多次 -->
<param name="参数名">参数值</param>
</result>
</global-results>
<!-- 下面的元素可以出现0次也可以无限多次 -->
<global-exception-mappings>
<!-- 该元素必须出现,可以出现无限多次 -->
<exception-mapping name="" result="" exception="">
<!-- 下面的元素可以出现0次也可以无限多次 -->
<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="" result="" exception="">
<param name=""></param>
</exception-mapping>
</action>
</package>
</struts>
上面的struts.xml配置文件是一个非常全面的配置文件,包含了Struts2的全部配置元素.
view plaincopy to clipboardprint?
01.<?xml version="1.0" encoding="UTF-8"?>
02.<!-- START SNIPPET: strutsDtd -->
03.<!--
04. Struts configuration DTD.
05. Use the following DOCTYPE
06.
07. <!DOCTYPE struts PUBLIC
08. "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
09. "http://struts.apache.org/dtds/struts-2.1.dtd">
10.-->
11.
12.<!ELEMENT struts ((package|include|bean|constant)*, unknown-handler-stack?)>
13.
14.<!ELEMENT package (result-types?, interceptors?, default-interceptor-ref?, default-action-ref?, default-class-ref?, global-results?, global-exception-mappings?, action*)>
15.<!ATTLIST package
16. name CDATA #REQUIRED
17. extends CDATA #IMPLIED
18. namespace CDATA #IMPLIED
19. abstract CDATA #IMPLIED
20. externalReferenceResolver NMTOKEN #IMPLIED
21.>
22.
23.<!ELEMENT result-types (result-type+)>
24.<!ELEMENT result-type (param*)>
25.<!ATTLIST result-type
26. name CDATA #REQUIRED
27. class CDATA #REQUIRED
28. default (true|false) "false"
29.>
30.
31.<!ELEMENT interceptors (interceptor|interceptor-stack)+>
32.<!ELEMENT interceptor (param*)>
33.<!ATTLIST interceptor
34. name CDATA #REQUIRED
35. class CDATA #REQUIRED
36.>
37.
38.<!ELEMENT interceptor-stack (interceptor-ref*)>
39.<!ATTLIST interceptor-stack
40. name CDATA #REQUIRED
41.>
42.
43.<!ELEMENT interceptor-ref (param*)>
44.<!ATTLIST interceptor-ref
45. name CDATA #REQUIRED
46.>
47.
48.<!ELEMENT default-interceptor-ref (#PCDATA)>
49.<!ATTLIST default-interceptor-ref
50. name CDATA #REQUIRED
51.>
52.
53.<!ELEMENT default-action-ref (#PCDATA)>
54.<!ATTLIST default-action-ref
55. name CDATA #REQUIRED
56.>
57.
58.<!ELEMENT default-class-ref (#PCDATA)>
59.<!ATTLIST default-class-ref
60. class CDATA #REQUIRED
61.>
62.
63.<!ELEMENT global-results (result+)>
64.<!ELEMENT global-exception-mappings (exception-mapping+)>
65.<!ELEMENT action (param|result|interceptor-ref|exception-mapping)*>
66.<!ATTLIST action
67. name CDATA #REQUIRED
68. class CDATA #IMPLIED
69. method CDATA #IMPLIED
70. converter CDATA #IMPLIED
71.>
72.
73.<!ELEMENT param (#PCDATA)>
74.<!ATTLIST param
75. name CDATA #REQUIRED
76.>
77.
78.<!ELEMENT result (#PCDATA|param)*>
79.<!ATTLIST result
80. name CDATA #IMPLIED
81. type CDATA #IMPLIED
82.>
83.
84.<!ELEMENT exception-mapping (#PCDATA|param)*>
85.<!ATTLIST exception-mapping
86. name CDATA #IMPLIED
87. exception CDATA #REQUIRED
88. result CDATA #REQUIRED
89.>
90.
91.<!ELEMENT include (#PCDATA)>
92.<!ATTLIST include
93. file CDATA #REQUIRED
94.>
95.
96.<!ELEMENT bean (#PCDATA)>
97.<!ATTLIST bean
98. type CDATA #IMPLIED
99. name CDATA #IMPLIED
100. class CDATA #REQUIRED
101. scope CDATA #IMPLIED
102. static CDATA #IMPLIED
103. optional CDATA #IMPLIED
104.>
105.
106.<!ELEMENT constant (#PCDATA)>
107.<!ATTLIST constant
108. name CDATA #REQUIRED
109. value CDATA #REQUIRED
110.>
111.
112.<!ELEMENT unknown-handler-stack (unknown-handler-ref*)>
113.<!ELEMENT unknown-handler-ref (#PCDATA)>
114.<!ATTLIST unknown-handler-ref
115. name CDATA #REQUIRED
116.>
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ziwen00/archive/2009/08/28/4493659.aspx