浅谈如何使用多个Struts配置文件

Struts配置文件之多配置文件 (单模块)

< 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 1.1引入了对多配置文件的支持。每一个Struts配置文件都必须是一个有效的XML 文件并且必须符合struts-config XML DTD。在可以在web.xml中将这些文件声明为ActionServlet的初始化参数config的值。你可以将这些文件指定为逗号分隔的路径列表。运行时,这些文件会在内存中合并成一个文件。如果出现重复元素,比如具有相同的name属性的两个不同的form bean 声明,则***一个读入的Struts配置优先。

多配置文件(多模块)

< 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-default-config.xml,
      /WEB-INF/struts-default-config-2.xml
    < /PARAM-VALUE>
  < /INIT-PARAM>
  < INIT-PARAM>
    < PARAM-NAME>config/module1< /PARAM-NAME>
    < PARAM-VALUE>
      /WEB-INF/struts-module1-config.xml
    < /PARAM-VALUE>
  < /INIT-PARAM>
  < INIT-PARAM>
    < PARAM-NAME>config/module2< /PARAM-NAME>
    < PARAM-VALUE>
      /WEB-INF/struts-module2-config.xml,
      /WEB-INF/struts-module2-config-2.xml,
      /WEB-INF/struts-module2-config-3.xml
    < /PARAM-VALUE>
  < /INIT-PARAM>
  < LOAD-ON-STARTUP>1
< /SERVLET>

每一个module 都通过其自己的Struts配置文件进行定义。每一个Struts 应用都隐含的具有一个默认module。默认module 没有名字。附加的模块通过指定一个模块前缀来定义。前缀是Struts的ActionServlet的初始化参数中的config/后面紧跟的值。

【编辑推荐】

  1. 在Eclipse中开发struts应用程序
  2. 手把手教你在Eclipse中配置开发Struts
  3. Eclipse下开发struts完整解决乱码问题
  4. Struts相关背景介绍
  5. 使用Easy Struts for Eclipse开发Struts
THE END