因为 struts.xml 文件是整个 Struts 2 框架的核心,下面将提供一份完整的 struts.xml 文件骨架,这份文件没有实在的意义,只是一个 struts.xml 文件示范。
<?xml version="1.0" encoding="UTF-8"?>
<!-- 下面指定 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=""></constant>
<!-- 下面的元素可以出现 0 次,或者无限多次 -->
<bean type="" name="" class="" scope="" optional=""></bean>
<!-- 下面的元素可以出现 0 次,或者无限多次 -->
<include file=""></include>
<!-- package 元素是 Struts 配置文件的核心,该元素可以出现 0 次或者无限多次 -->
<package name="必填的包名" extends="" namespace="" abstract=""
externalReferenceResolver="">
<!-- 该元素可以出现,可以出现无限多次 -->
<result-types>
<!-- 该元素必须出现,可以出现无限多次 -->
<pram name="参数名">参数值</pram>
</result-types>
<!-- 该元素可以出现,也可以不出现,最多出现一次 -->
<interceptors>
<!-- 该元素的 interceptor 元素和 interceptor-stack 至少出现其中之一,
也可以二者都出现 -->
<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 次,最多可以出现一次 -->
<default-class-ref class="">....</default-class-ref>
<!-- 下面的元素可以出现 0 次,最多可以出现一次 -->
<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,可以出现 0 次到无限多次 -->
<action name="" class="" method="" converter="">
<!-- 下面的元素可以出现 0 次,或者无限多次 -->
<param name="参数名">参数值</param>
<!-- 下面的元素可以出现 0 次,或者无限多次 -->
<result name="" type="">
映射资源
<!-- 下面的元素可以出现 0 次,或者无限多次 -->
<param name="参数名">参数值</param>
</result>
<!-- 下面的元素可以出现 0 次,或者无限多次 -->
<interceptor-ref name="" name="">
<!-- 下面的元素可以出现 0 次,或者无限多次 -->
<param name="参数名">参数值</param>
</interceptor-ref>
<!-- 下面的元素可以出现 0 次,或者无限多次 -->
<exception-mapping name="" result="" exception="">
异常处理资源
<!-- 下面的元素可以出现 0 次,或者无限多次 -->
<param name="参数名">参数值</param>
</exception-mapping>
</action>
</package>
<!-- 可以出现 0 次到 1 次 -->
<unknown-handler-stack>
<unknown-handler-ref name="处理器名">........</unknown-handler-ref>
</unknown-handler-stack>
</struts>
上面的 struts.xml 配置文件是一个非常全面的配置文件,包含了 Struts 2 的全部配置元素,当我们使用 Struts 2 框架时可按上面的配置规则进行配置。
<?xml version="1.0" encoding="UTF-8"?>
<!-- 下面指定 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=""></constant>
<!-- 下面的元素可以出现 0 次,或者无限多次 -->
<bean type="" name="" class="" scope="" optional=""></bean>
<!-- 下面的元素可以出现 0 次,或者无限多次 -->
<include file=""></include>
<!-- package 元素是 Struts 配置文件的核心,该元素可以出现 0 次或者无限多次 -->
<package name="必填的包名" extends="" namespace="" abstract=""
externalReferenceResolver="">
<!-- 该元素可以出现,可以出现无限多次 -->
<result-types>
<!-- 该元素必须出现,可以出现无限多次 -->
<pram name="参数名">参数值</pram>
</result-types>
<!-- 该元素可以出现,也可以不出现,最多出现一次 -->
<interceptors>
<!-- 该元素的 interceptor 元素和 interceptor-stack 至少出现其中之一,
也可以二者都出现 -->
<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 次,最多可以出现一次 -->
<default-class-ref class="">....</default-class-ref>
<!-- 下面的元素可以出现 0 次,最多可以出现一次 -->
<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,可以出现 0 次到无限多次 -->
<action name="" class="" method="" converter="">
<!-- 下面的元素可以出现 0 次,或者无限多次 -->
<param name="参数名">参数值</param>
<!-- 下面的元素可以出现 0 次,或者无限多次 -->
<result name="" type="">
映射资源
<!-- 下面的元素可以出现 0 次,或者无限多次 -->
<param name="参数名">参数值</param>
</result>
<!-- 下面的元素可以出现 0 次,或者无限多次 -->
<interceptor-ref name="" name="">
<!-- 下面的元素可以出现 0 次,或者无限多次 -->
<param name="参数名">参数值</param>
</interceptor-ref>
<!-- 下面的元素可以出现 0 次,或者无限多次 -->
<exception-mapping name="" result="" exception="">
异常处理资源
<!-- 下面的元素可以出现 0 次,或者无限多次 -->
<param name="参数名">参数值</param>
</exception-mapping>
</action>
</package>
<!-- 可以出现 0 次到 1 次 -->
<unknown-handler-stack>
<unknown-handler-ref name="处理器名">........</unknown-handler-ref>
</unknown-handler-stack>
</struts>
上面的 struts.xml 配置文件是一个非常全面的配置文件,包含了 Struts 2 的全部配置元素,当我们使用 Struts 2 框架时可按上面的配置规则进行配置。