在Struts 1.1中引进了模块(Module)的概念。一个模块就是一个独立的子系统,你可以在其中进行任意所需的配置,同时又不必担心和其它的配置文件产生冲突。因为前面我们讲过,ActionServlet是将不同的模块信息保存在不同的ModuleConfig对象中的。要使用模块的功能,需要进行以下的准备工作:1、为每个模块准备一个配置文件2、配置web.xml文件,通知控制器决定采用多个模块以后,你需要将这些信息告诉控制器,这需要在web.xml文件进行配置。下面是一个典型的多模块配置:
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>config/customer</param-name> 
<param-value>/WEB-INF/struts-config-customer.xml</param-value>
</init-param>
<init-param> 
<param-name>config/order</param-name>
<param-value>/WEB-INF/struts-config-order.xml</param-value>
</init-param>
 要配置多个模块,你需要在原有的一个<init-param>(在Struts 1.1中将其对应的模块称为缺省模块)的基础之上,增加模块对应的<init-param>。其中<param-name>表示为config/XXX的形式,其中XXX为对应的模块名,<param-value>中还是指定模块对应的配置文件。上面这个例子说明该应用有三个模块,分别是缺省模块、customer和order,它们分别对应不同的配置文件。

解决方案 »

  1.   

    当然如果要在一个模块就用多个配置文件,可是用“,”隔开各配置文件。如:
    <init-param>
    <param-name>config</param-name>
    <param-value>/WEB-INF/struts-config.xml,/WEB-INF/struts-config-order.xml</param-value>
    </init-param>
    <init-param>
      

  2.   

    你可以看
    http://www.scioworks.net/camino_doc/manual/Tutorial/HoroscopeIIExample/L5_UsingDeclarativeExceptions.html
    的下一课程。。
      

  3.   

    那在页面具体调用时怎么调用?在JSP页面调用时怎么区分是调用的哪个模块?在不同的config文件中的写法还会有所不同吗?