您的位置:首页 > 编程语言 > Java开发

struts中子应用模块的转换

2008-06-04 21:37 411 查看
Struts支持多应用模块,即同一个应用包含多个子应用,每个子应用可以处理相关的一组功能。把应用划分成多个模块,可以简化应用的并行开发过程,缩短开发周期。
 所有的子应用都共享同一个ActionServlet实例,但每个子应用都有单独的配置文件。把应用划分成多个子应用模块包括以下步骤:
 1.为每个子应用创建单独的Struts配置文件。
 2.在web.xml的ActionServlet的配置代码中添加每个子应用信息。
 3.采用<forward>元素或SwitchAction类来实现子应用之间的切换。
注:在Struts1.2中已经没有SwitchAction类,所以我们只能采用<forward>元素来实现子应用模块之间的切换。

 把某个应用划分为两个子应用模块,配置文件分别为:struts-config.xml和struts-moduleB.xml,struts-config.xml文件中的<controller>元素的processorClass属性为默认值"org.apache.struts.action.RequestProcessor",struts-moduleB.xml文件中的<controller>元素的processorClass属性为"CustomerRequestProcessor"。

 接下来,应该在web.xml的ActionServlet的配置代码中添加每个子应用信息:
 <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</param-value>
  </init-param>
  <init-param>
   <param-name>config/moduleB</param-name>
   <param-value>/WEB-INF/struts-moduleB.xml</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
 </servlet>
 第一个<init-param>元素的param-name属性为config,表示配置的是默认子应用模块。第二个<init-param>元素的param-name属性以"config/"开头,表示非默认子应用模块。
 今天我们谈谈以使用全局或局部的<forward>元素进行子应用模块之间的切换。
 使用全局<forward>元素的例子:
 <global-forward>
  <forward name="toModuleB"
   contextRelative="true"
   path="/moduleB/index.do"
   redirect="true"/>
 </global-forward>
 使用<action>元素中的局部<forward>元素:
 <action-mappings>
  <action...>
   <forward name="success"
    contextRelative="true"
    path="/moduleB/index.do"
    redirect="true"/>
  </action>
 </action-mappings>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts action