`
huinet
  • 浏览: 81775 次
  • 性别: Icon_minigender_1
  • 来自: 郑州市
社区版块
存档分类
最新评论

ForwardAction、IncludeAction、SwitchAction

    博客分类:
  • J2EE
阅读更多

发表:2005-5-26 2:37:49 出处:你的博客网(yourblog.org)

有的时候您只是想要从一个页面或资源转换到另一个资源,在MVC/Model 2的架构中,直接使用页面或资源的路径来叫用并不是一个好的主意,这会使得控制器没有机会处理相关的请求事宜。

您仍应该透过控制器,使用ForwardAction可以帮您完成这个事情,当控制器使用ForwardAction时perform()方法时,它会使用属性parameter所设定的路径进行forward的动作,一个设定ForwardAction的例子如下:
代码:
        <action
             path="/Welcome"
             type="org.apache.struts.actions.ForwardAction"
             parameter="/pages/Welcome.jsp"/>


同样的,有时候您会需要引入一个页面或资源,这时您可以使用IncludeAction,其设定方式与ForwardAction相同,只不过它是用include的方式来调用页面或资源:
代码:
        <action
             path="/SomeResource"
             type="org.apache.struts.actions.IncludeAction"
             parameter="/path/someServlet"/>


SwitchAction用于从一个模块转换至另一个模块,当您的应用程序分作多个模块时,您有两个方法可以在模块之间切换,第一个方法是使用相对于Context的路径来进行 forward 查找,我们之前在介绍模块化时就是使用这个方法:
代码:
    <global-forwards>
         <forward
             name="login"
             contextRelative="true"
             path="/login/Login.do"
             redirect="true"/>
    </global-forwards>


这是在全区可查找的 forward 中的设定,在<action>卷标中也可以像上面一样使用<forward>卷标,,例如:
代码:
    <action ... >
         <forward
             name="login"
             contextRelative="true"
             path="/login/Login.do"
             redirect="true"/>
     </action>


另一切换模块的方法就是使用SwitchAction,它需要在请求中带两个参数,一个是prefix,用来指定模块前缀名称,一个是page,用来指定相对于模块的资源路径,例如我们可以这么设定:
代码:
    <action-mappings>
         <action
             path="/LoginSwitch"
             type="org.apache.struts.actions.SwitchAction"/>
        
         </action-mappings>


之后我们可以使用这样的路径与参数来请求login模块的Login.do

分享到:
评论
1 楼 hantsy 2007-11-29  
forward,include方式可以简写,
<action path="action1" forward="/page.jsp"/>
<action path="action1" include="/page.jsp"/>

相关推荐

    ActionForward与ForwardAction的功能

    ActionForward与ForwardActiond 的区别和功能

    Struts1.3 备忘笔记

    07 Struts_07ForwardAction : 访问WebRoot/WEB-INF/下文件的一种方式 08 Struts_08DynaValidatorForm : Struts框架的Validator验证框架 09 Struts_09Token : Structs的令牌机制,避免重复提交问题 10 Struts_10...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 上

    17.5.2、IncludeAction 17.5.3、DispatchAction 17.6、验证框架 附录A:实用工具 18.1、JavaMail 18.1.1、James邮件服务器的下载及配置 18.1.2、JavaMail简介及配置 18.1.3、发送普通邮件 18.1.4、发送带...

    MLDN+李兴华+Java+Web开发实战经典.part3.rar )

    17.5.2、IncludeAction 17.5.3、DispatchAction 17.6、验证框架 附录A:实用工具 18.1、JavaMail 18.1.1、James邮件服务器的下载及配置 18.1.2、JavaMail简介及配置 18.1.3、发送普通邮件 18.1.4、...

    李兴华 java_web开发实战经典 源码 完整版收集共享

    17.5.2、IncludeAction 17.5.3、DispatchAction 17.6、验证框架 附录A:实用工具 18.1、JavaMail 18.1.1、James邮件服务器的下载及配置 18.1.2、JavaMail简介及配置 18.1.3、发送普通邮件 18.1.4、发送带...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 下

    17.5.2、IncludeAction 17.5.3、DispatchAction 17.6、验证框架 附录A:实用工具 18.1、JavaMail 18.1.1、James邮件服务器的下载及配置 18.1.2、JavaMail简介及配置 18.1.3、发送普通邮件 18.1.4、发送带...

    李兴华 Java Web 开发实战经典 高清扫描版Part3

    17.5.2、IncludeAction 17.5.3、DispatchAction 17.6、验证框架 附录A:实用工具 18.1、JavaMail 18.1.1、James邮件服务器的下载及配置 18.1.2、JavaMail简介及配置 18.1.3、发送普通邮件 18.1.4、发送带...

    李兴华Java Web开发实战经典.pdf (高清版) Part1

    17.5.2、IncludeAction 17.5.3、DispatchAction 17.6、验证框架 附录A:实用工具 18.1、JavaMail 18.1.1、James邮件服务器的下载及配置 18.1.2、JavaMail简介及配置 18.1.3、发送普通邮件 18.1.4、...

    李兴华Java Web开发实战经典(高清版) Part2

    17.5.2、IncludeAction 17.5.3、DispatchAction 17.6、验证框架 附录A:实用工具 18.1、JavaMail 18.1.1、James邮件服务器的下载及配置 18.1.2、JavaMail简介及配置 18.1.3、发送普通邮件 18.1.4、...

    java web 视频、电子书、源码(李兴华老师出版)

    17.5.2、IncludeAction 17.5.3、DispatchAction 17.6、验证框架 附录A:实用工具 18.1、JavaMail 18.1.1、James邮件服务器的下载及配置 18.1.2、JavaMail简介及配置 18.1.3、发送普通邮件 18.1.4、...

    structs程序设计从入门到精通word文档

    9.2 Struts内置类ForwardAction 13 9.3 Struts令牌机制,防止重复提交 13 9.4 StrutsAction单态陷阱,请谨慎使用全局变量 13 9.5 Struts异常处理 13 第10章 struts中使用国际化(i18n) 13 10.1 struts国际化程序尝试...

    Struts2入门教程(全新完整版)

    8.使用ForwardAction实现页面屏蔽。 13 8.使用default-Action配置统一访问 14 小结Action 14 9.使用通配符 14 10.使用0配置:ZERO Annotation 15 11.Result配置详解 15 探讨type类型: 16 Type类型值 16 作用说明 16...

    Struts in Action中文版

    1. 介绍.........................................................................................................18 1.1. 关于本书..........................................................................

    struts in Action

    1. 介绍.........................................................................................................18 1.1. 关于本书...........................................................................

Global site tag (gtag.js) - Google Analytics