【学习笔记】Struts2之配置文件struts.xml
在默认情况下,Struts2只自动加载类加载路径下的struts.xml.default-struts.xml和struts-plugin.xml三类文件。但是随着应用规模的增大,系统中Action数量也大量增加,将导致struts.xml非常臃肿。为了避免这种这情况,我们可以将struts.xml配置文件分解成多个配置文件,然后在struts.xml文件中包含其他配置文件。被包含的配置文件也是标准的Struts2配置文件,一样包含了DTD信息,根元素等信息。
以下是struts.xml配置文件的示范。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN" "http://struts.apache.org/dtds/struts-2.1.7.dtd"> <!-- Struts2 是配置文件的根元素 --> <struts> <!-- 下面的元素可以出现0次或者无限次--> <constant name="" value=""/> <!-- 下面的元素可以出现0次或者无限次--> <bean type="" name="" class="" scope="" static="" optional="" /> <!-- 下面的元素可以出现0次或者无限次--> <include file="" /> <!-- package元素是Struts2配置文件的核心,package元素可以出现0次或者无限次--> <package name="必填" extends="" namespace="" abstract="" externalReferenceResolver=""> <!-- 下面的元素可以出现0次或者1次--> <result-types> <!-- 下面的元素可以出现1次或者无限次--> <result-type name="" class="" default="true|false"> <!-- 下面的元素可以出现0次或者无限次--> <param name="name">value</param> </result-type> </result-types> <!-- 下面的元素可以出现0次或者1次--> <interceptors> <!-- 该元素的interceptor元素和interceptor-stack至少出现其中之一,或者同时出现 --> <!-- 下面的元素可以出现0次或者无限次--> <interceptor name="" class=""> <!-- 下面的元素可以出现0次或者无限次--> <param name="name">value</param> </interceptor> <!-- 下面的元素可以出现0次或者无限次--> <interceptor-stack name=""> <!-- 下面的元素可以出现1次或者无限次--> <interceptor-ref name=""> <!-- 下面的元素可以出现0次或者无限次--> <param name="name">value</param> </interceptor-ref> </interceptor-stack> </interceptors> <!-- 下面的元素可以出现0次或者1次--> <default-interceptor-ref name=""> <!-- 下面的元素可以出现0次或者无限次--> <param name="name">value</param> </default-interceptor-ref> <!-- 下面的元素可以出现0次或者1次--> <default-action-ref name=""> <!-- 下面的元素可以出现0次或者无限次--> <param name="name">value</param> </default-action-ref> <!-- 下面的元素可以出现0次或者1次--> <default-class-ref class="">...</default-class-ref> <!-- 下面的元素可以出现0次或者1次--> <global-results> <!-- 下面的元素可以出现1次或者无限次--> <result name="" type=""> 映射资源 <!-- 下面的元素可以出现0次或者无限次--> <param name="name">value</param> </result> </global-results> <!-- 下面的元素可以出现0次或者1次--> <global-exception-mappings> <!-- 下面的元素可以出现1次或者无限次--> <exception-mapping name="" result="" exception="" result=""> 异常处理资源 <!-- 下面的元素可以出现0次或者无限次--> <param name="name">value</param> </exception-mapping> </global-exception-mappings> <!-- 下面的元素可以出现0次或者无限次--> <action name="" class="" method="" converter="" > <!-- 下面的元素可以出现0次或者无限次--> <param name="name">value</param> <!-- 下面的元素可以出现0次或者无限次--> <result name="" type=""> 映射资源 <!-- 下面的元素可以出现0次或者无限次--> <param name="name">value</param> </result> <!-- 下面的元素可以出现0次或者无限次--> <interceptor-ref name=""> <!-- 下面的元素可以出现0次或者无限次--> <param name="name">value</param> </interceptor-ref> <!-- 下面的元素可以出现0次或者无限次--> <exception-mapping name="" result="" exception=""> <!-- 下面的元素可以出现0次或者无限次--> <param name="name">value</param> </exception-mapping> </action> </package> <!-- 下面的元素可以出现0次或者1次--> <unknown-handler-stack> <unknown-handler-ref name="处理器名">...</unknown-handler-ref> </unknown-handler-stack> </struts>