"struts.xml"文件包含配置信息,你将修改它用于发布action,我们将在本章剩余的部分详细的讲解指定的元素.现在,让我们看看不会改变的结构.
注:
根据你应用的功能,可能会从你的应用中移除"struts.xml"文件.配置上我们将在本章讨论一种替换的方法,使用注释,"web.xml"启动参数,和交替的URL映射配置.
唯一的配置仍然需要"struts.xml"文件,如全局结果,异常处理,和自定义的拦截器栈.
这是一个XML文件,所以第一个元素是XML的版本和编码信息.下一个则是XML的文档类型定义(DTD).DTD提供了一些文件里的元素的结构,并最终用XML来解析和编辑.
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE struts PUBLIC
3 "-//Apache Software Foundation//DTD Struts Configuration
4 2.0//EN"
5 "http://struts.apache.org/dtds/struts-2.0.dtd">
6 <struts>
7 <package
8 name="struts2"
9 extends="struts-default"
10 namespace="/struts2">
11 …
12 </package>
13 </struts>
2 <!DOCTYPE struts PUBLIC
3 "-//Apache Software Foundation//DTD Struts Configuration
4 2.0//EN"
5 "http://struts.apache.org/dtds/struts-2.0.dtd">
6 <struts>
7 <package
8 name="struts2"
9 extends="struts-default"
10 namespace="/struts2">
11 …
12 </package>
13 </struts>
我们现在到达了<struts>标签.这是Struts2具体配置的最外层标签.所有其他的标签都将被包含在这个当中.
The Include Tag:
<include ... />标签用于将Struts2应用模块化时引入其他配置文件时使用并且它始终是<struts>标签的子标签.它仅仅包含一个"file"属性,用于提供被引入的文件的名称,那个文件必须与"struts.xml"配置文件的结构相同.例如,如果你想拆分一个计费应用的配置文件,你可以选择按组将缴费,管理和报表配置到单独的文件中:
1 <struts>
2 <include file="billing-config.xml" />
3 <include file="admin-config.xml" />
4 <include file="reports-config.xml" />
5 …
6 </struts>
2 <include file="billing-config.xml" />
3 <include file="admin-config.xml" />
4 <include file="reports-config.xml" />
5 …
6 </struts>
引入文件时,顺序是重要的.来自引入文件的信息将在文件中引入标签的位置开始有效.因此,使用一个配置在另一个文件中的标签,这个引入的配置必须出现在被引用之前.
有一些文件你是必须明确的引入,还有一些文件是自动引入的.比如说"struts-default"和"struts-plugin.xml".两者都包含了默认的结果类型,拦截器,拦截器栈,包,以及WEB应用执行环境的配置信息(也可以配置在"struts.properties"文件中)的配置.区别在于"struts-default.xml"文件提供的是Struts2的核心配置,而"struts-plugin.xml"提供的是详细插件的配置.每个插件JAR文件中都应包含一个"struts-plugin.xml"文件,所有这些都将在启动的时候加载.

