Struts中多模块的配置和模块之间的切换

来源:互联网 发布:原油api数据 编辑:程序博客网 时间:2024/06/17 09:38

假设一个应用中存在以下三个模块: 默认模块, module1 , module2

先来看一下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</param-value> 
    </init-param> 
    <init-param> 
      <param-name>config/module1</param-name> 
      <param-value>/WEB-INF/sample/struts-module1-config.xml</param-value> 
    </init-param> 
    <init-param> 
      <param-name>config/module2</param-name> 
      <param-value>/WEB-INF/office/struts-module2-config.xml</param-value> 
    </init-param> 
     
    <init-param> 
      <param-name>debug</param-name> 
      <param-value>2</param-value> 
    </init-param> 
    <init-param> 
      <param-name>detail</param-name> 
      <param-value>2</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
  </servlet>

上面就完成了多模块的配置,下来是各个模块之间的切换

1 . 默认模块(index.jsp) → module1中的页面

     <html:link module="/module1" action="/gotoModule1">module1中的页面</html:link>

     或者:<html:link  href="/module1/welcome">module1中的页面</html:link>

2  子模块(module1) →  默认模块(index.jsp)

  <html:link action="../defaultModule">转到默认模块</html:link>

3  子模块(module1) → 子模块(module2)

    <html:link module="/module2" action="/gotoModule2">转到子模块2的页面</html:link>

各自模块的struts-config.xml配置

默认模块(WEB-INF/struts-config.xml)

<action-mappings>

<action path="/defaultModule" forward="/index.jsp"></action>

</action-mappings>

子模块1(WEB-INF/module1/struts-config.xml).

<action-mappings>

<action path="/gotoModule1" forward="/index.jsp"></action>

</action-mappings>

子模块2(WEB-INF/module2/struts-config.xml)

<action-mappings>

<action path="/gotoModule2" forward="/index.jsp"></action>

</action-mappings>

注意:link中跳转的页面必须通过 action方式进行跳转,如果直接写某模块下的index.jsp,

        只是跳转到该页面,但是并没有完成模块之间的切换。

3  跨模块表单提交(使用SwitchAction)

    默认模块(WEB-INF/struts-config.xml)

    <action-mappings>
    <action path="/addUserSwitch" type="org.apache.struts.actions.SwitchAction"></action>
    </action-mappings>

   子模块1(WEB-INF/module1/struts-config.xml)

    <action-mappings>
    <action path="/addUser" type="action类"></action>
    </action-mappings>

   JSP

   <html:form action="/addUserSwitch?prefix=/Module1&page=/addUser.do">
   </html:form>

原创粉丝点击