在团队开发的过程中,常将一个大型的struts-config.xml文件分为多个小文件,以便改善组织和更易维护。
将一个struts-config.xml分解为多个配置文件。这些文件作为ActionServlet在web.xml中的初始化参数config的参数值引用。
单模块web.xml配置如下:
<servlet> <servlet-name>action</servlet-name> <servlet-class> org.apache.struts.action.ActionServlet </servlet-class> <init-param> <param-name>config</param-name> <param-value> /WEB-INF/struts-config.xml, /WEB-INF/struts-config-2.xml </param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>当ActionServlet被载入时, Struts 将多个文件在内存中合并成一个单一的文件。
对那些庞大的应用而言,struts-config.xml文件会趋于变得大而笨重。许多应用可能具有数以百计的action。
Struts 引入了对多配置文件的支持。每一个配置文件都必须是一个有效的XML。在可以在web.xml中将这些文件声明为ActionServlet的初始化参数config的值。你可以将这些文件指定为逗号分隔的路径列表。运行时,这些文件会在内存中合并成一个文件。如果出现重复元素,比如具有相同的name属性的两个不同的form bean 声明,则最后一个读入的配置优先。
事实上,你对一个模块也可以使用多配置文件。在上面的方案中,config元素的param-name子元素的值对ActionServlet规定了默认模块的Struts 配置文件的路径。附加模块是通过config/module-name的param-name值规定的。