在基于struts的WEB应用的开发中,使用多模块开发是十分必要的,总结了一下如下:
Struts 的配置文件struts-config.xml 是Struts 框架最重要的资源之一,并且是需要频繁改动的。如果并行开发的各个团队都是用这一个配置文件,势必造成访问冲突。Strus 框架的模块化机制就是专门应对这种情况的。
Struts 从1.1 版本开始增加了模块化支持,并且一直在强化对模块化的支持。不同的应用模块可以拥有各自的struts-config 配置文件、消息资源、Validator 框架配置文件。不同的模块可以协同开发,互不影响。
Struts 应用配置为多模块应用,需要如下三个步骤:
- 为每个模块分别建立一个struts配置文件;
- 通知模块控制器;
- 使用特定的Action在模块间跳转。
一 给各模块命名:
struts默认的配置文件名是struts-config.xml,给其它模块配置文件命名struts-config-***.xml.比如登录模块需要一个单独的模块可以命名为struts-config-login.xml;
二 通知模块控制器:
在web.xml中加入如下代码:<init-param></init-param>
- <init-param>
- <param-name>config</param-name>
- <param-value>/WEB-INF/conf/struts-config.xml</param-value>
- </init-param>
- <init-param>
- <param-name>config/login</param-name>
- <param-value>/WEB-INF/conf/login/struts-config-login.xml</param-value>
- </init-param>
配置文件对应的ActionServlet 初始化参数名为config。对于其他模块,ActionServlet 初始化参数的命名原则是“config/模块名”。如上面的代码示例中,login 模块的配置文件对应的初始化参数为config/login。其中前缀“config/”是不能缺少的,后面跟模块名。在Struts 控制器中,是通过模块名来区分不同模块的。在资源访问中,也是一模块名作为前缀来区分对不同模块的访问。如以“/login”开头的路径会告诉控制器所要访问的将是login 模块的资源。
三 实现模块间跳转:
(1)用SwitchAction,主要用于实现页面的跳转
(2)全局转发和局部转发,用于实现模块间的跳转
(3)采用html:link标签
需要注意的地方就是模块间相互跳转的时候要把路径配置正确就可以了.