zoukankan      html  css  js  c++  java
  • struts2跳转类型解析

    struts 2 跳转类型

    1.dispatcher 

    dispatcher 为默认跳转类型。用于返回一个视图资源
    xml代码 :

    <result name="success">/main.jsp</result> 
    <result name="success">/main.jsp</result> 
    以上写法使用了两个默认。其完整的写法为: 
    <result name="success" type="dispatcher"> 
            <param name="location">/maini.jsp</param> 
    </result>

    用于页面转发,页面跳转过程一直是同一个线程。Action中的数据一直保存在。
    location仅仅能是页面,不能是还有一个action(可用type="chain"解决)。


    2.redirect 

    redirect 类型用于重定向到一个页面,还有一个action或一个网址。

     
    Xml代码:

    <result name="success" type="redirect">aaa.jsp</result> 
    <result name="success" type="redirect">bbb.action</result> 
    <result name="success" type="redirect">www.baidu.com</result>

    缺点:redirect把一个http返回码(SUCCESS)以及返回的页面位置一起又一次发给webserver,容纳后由webserver产生一个新的HTTP请求,就会产生一个新的线程,保存在原来Action运行的线程中的数据就无法訪问。
    所以,result须要包括Action的数据。那么redirect不是一个可行的办法。由于新的HTTP请求时在Servlet容器的新的线程中处理的,ActionContext中的全部状态都不会存在。

    处理方法:

    (方法一): 
    <result name="topic" type="redirect">/topicAction!findTopics.do?

    topicId=${topicId}</result> 
    (方法二): 
    <result name="topic" type="redirect-action"> 
    <param name="actionName">findTopics</param> 
    <param name="topicId">${topicId}</param> 
    </result>


    3.chain 

    chain 用于把相关的几个action连接起来,共同完毕一个功能。 
    Xml代码:

    <action name="step1" class="test.Step1Action"> 
         <result name="success" type="chain">step2.action</result> 
    </action> 
    <action name="step2" class="test.Step2Action"> 
    <result name="success">finish.jsp</result> 
    </action> 
    处于chain中的action属于同一个http请求。共享一个ActionContext 


    4.plaintext 
    plaintext 结果类型用于直接在页面上显示源码

    Xml代码:

    <result name="err" type="plaintext"> 
        <param name="location">详细的位置</param> 
        <param name="charSet">字符规范(如GBK)</param> 
    </result>


    原文地址:http://hi.baidu.com/foreverfly8/item/4bfae9cc04abb80c0bd93a79


    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    【转】xcode的模拟器位置
    [汇] 立即寻址,直接寻址,间接寻址
    [汇] iOS Crash相关(2)
    [转] time profile 使用详解
    [汇] iOS Crash相关(1)
    [转] Xcode 高级调试技巧
    [汇] iOS高级调试汇总
    [转]iOS动画专题·UIView二维形变动画与CAAnimation核心动画(transform动画,基础,关键帧,组动画,路径动画,贝塞尔曲线)
    [SVN]TortoiseSVN工具培训1─为什么要用SVN?
    团队管理_第一期干部训练营心得
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4876387.html
Copyright © 2011-2022 走看看