• struts2.xml 中result type属性说明


    chain   
      
        用来处理Action链,被跳转的action中仍能获取上个页面的值,如request信息。    
       
        com.opensymphony.xwork2.ActionChainResult   
      
    dispatcher   
      
        用来转向页面,通常处理JSP   
      
        org.apache.struts2.dispatcher.ServletDispatcherResult   
      
    freemaker
       
      
        处理FreeMarker模板   
      
        org.apache.struts2.views.freemarker.FreemarkerResult   
      
    httpheader   
      
        控制特殊HTTP行为的结果类型   
      
        org.apache.struts2.dispatcher.HttpHeaderResult    
      

    stream   
      
        向浏览器发送InputSream对象,通常用来处理文件下载,还可用于返回AJAX数据   
      
        org.apache.struts2.dispatcher.StreamResult   
      
    velocity   
      
        处理Velocity模板   
      
        org.apache.struts2.dispatcher.VelocityResult   
      
    xslt   
      
        处理XML/XLST模板   
      
        org.apache.struts2.views.xslt.XSLTResult   
      
    plainText   
      
        显示原始文件内容,例如文件源代码   
      
        org.apache.struts2.dispatcher.PlainTextResult   
      
     
    plaintext   
      
        显示原始文件内容,例如文件源代码   
      
        org.apache.struts2.dispatcher.PlainTextResult 

    redirect   
      
        重定向到一个URL ,被跳转的页面中丢失传递的信息,如request  
      
        org.apache.struts2.dispatcher.ServletRedirectResult   
      
    redirectAction
       
      
        重定向到一个Action ,跳转的页面中丢失传递的信息,如request      
       
        org.apache.struts2.dispatcher.ServletActionRedirectResult   
      
    redirect-action   
      
        重定向到一个Action ,跳转的页面中丢失传递的信息,如request      
       
        org.apache.struts2.dispatcher.ServletActionRedirectResult 

      
    注:redirect与redirect-action区别

    一、使用redirect需要后缀名 使用redirect-action不需要后缀名
    二、type="redirect" 的值可以转到其它命名空间下的action,而redirect-action只能转到同一命名空下的 action,因此它可以省略.action的后缀直接写action的名称。

    如:

    <result name="success" type="redirect">viewTask.action</result>
    <result name="success" type="redirect-action">viewTask</result>

    附:redirect-action 传递参数

     
    1. <action name="enterpreinfo" class="preinfoBusinessAction"    method="enterPreinfoSub">  
    2.   <result name="success" type="redirect-action">  
    3.      showpreinfo?preinfo.order_number=${preinfo.order_number}&amp;preinfo.company_name=${preinfo.company_name}   
    4.   </result>  
    5.  <result name="error" type="redirect">  
    6.     <param name="location">/error.jsp</param>  
    7.  </result>  
    8. </action>  

       因为使用了redirect-action,所以要注意不能将 showpreinf?preinfo.order_number=${preinfo.order_number}写成 showpreinf.action?preinfo.order_number=${preinfo.order_number}

    其中${}为EL表达式,获取action:enterpreinfo中属性的值;在这个配置文件里,多个参数的连接符使用了"&amp;",但XML的语法规范,应该使用"&amp;"代替"&",原理和HTML中的转义相同,开始没有注意,在struts分析配置文件时,总是报出这样的错误:

    json   一般很容易忽略的一个地方(在EXT中非常有用)
    示例
    1. <package name="struts2" extends="json-default" namespace="/">  
    2.         <action name="login" class="loginAction" method="login">  
    3.             <result type="json">  
    4.                 <param name="includeProperties">success,result</param>                
    5.             </result>               
    6.         </action>  
    7.         <action name="main" class="loginAction" method="main">  
    8.             <result name="main">/index.jsp</result>           
    9.         </action>   
    10.     </package>  
    1. private boolean success  = true;  
    2. private String result = "main.action";  
    3. //getter和setter方法略  
    以上的success和result互相对应到了
    1. <param name="includeProperties">success,result</param>    
    struts2会根据其设置的值匹配跳转
    对于json一般情况下很少用到,但是在处理ext的时候会用到这个属性类型,这个地方也是经常被忽略的。
  • 相关阅读:
    C#单例模式的实现再回顾
    智慧质证使用过程中的4个接口
    Amortized Analysis 均摊分析
    668. Kth Smallest Number in Multiplication Table
    1201. Ugly Number III
    1482. Minimum Number of Days to Make m Bouquets
    744. Find Smallest Letter Greater Than Target
    436. Find Right Interval
    50. Pow(x, n)
    29. Divide Two Integers
  • 原文地址:https://www.cnblogs.com/hanxf/p/4582748.html
Copyright © 2020-2023  润新知