JavaWeb_(Struts2框架)Action中struts-default下result的各類轉發類型

 

 

  此係列博文基於同一個項目已上傳至github  傳送門html

  JavaWeb_(Struts2框架)Struts建立Action的三種方式  傳送門git

  JavaWeb_(Struts2框架)struts.xml核心配置、動態方法調用、結果集的處理  傳送門github

  JavaWeb_(Struts2框架)Log4j的配置以及解決中文亂碼  傳送門apache

  JavaWeb_(Struts2框架)參數傳遞之接收參數與傳遞參數  傳送門瀏覽器

  JavaWeb_(Struts2框架)Ognl小案例查詢帖子  傳送門框架

  JavaWeb_(Struts2框架)Action中struts-default下result的各類轉發類型  傳送門post

  JavaWeb_(Struts2框架)攔截器interceptor  傳送門spa

 

 

  result是用於作輸出的組建,用於向頁面輸出一些內容,轉發重定向能夠理解爲特殊方式的輸出,每個result就是一個類code

  這些類都實現了共同的接口Result,struts2預置了10種類型的result,他們都被定義在struts-default.xml種xml

  SSH項目->Referenced Libraries->struts2-core-2.5.16.jar中找到struts-default.xml,struts-default.xml約束文件第192行定義了十種result轉發類型

  

    <result-types>
            <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/>
            <result-type name="dispatcher" class="org.apache.struts2.result.ServletDispatcherResult" default="true"/>
            <result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult"/>
            <result-type name="httpheader" class="org.apache.struts2.result.HttpHeaderResult"/>
            <result-type name="redirect" class="org.apache.struts2.result.ServletRedirectResult"/>
            <result-type name="redirectAction" class="org.apache.struts2.result.ServletActionRedirectResult"/>
            <result-type name="stream" class="org.apache.struts2.result.StreamResult"/>
            <result-type name="velocity" class="org.apache.struts2.result.VelocityResult"/>
            <result-type name="xslt" class="org.apache.struts2.views.xslt.XSLTResult"/>
            <result-type name="plainText" class="org.apache.struts2.result.PlainTextResult" />
            <result-type name="postback" class="org.apache.struts2.result.PostbackResult" />
        </result-types>

 

  重點:chain dispatcher redirect redirectAction stream

Result的四個經常使用轉跳類型分別爲

Dispatcher    用來轉向頁面,是Struts的默認形式

Redirect       重定向到一個URL

Chain       用來處理Action鏈 

RedirectAction     重定向到一個Action

還有如下幾種不太經常使用

freemaker:  處理FreeMarker模板   

httpheader:  控制特殊HTTP行爲的結果類型  

stream:      向瀏覽器發送InputSream對象,用來處理文件下載,還可用於返回AJAX數據   

velocity :    處理Velocity模板   

xsl:             處理XML/XLST模板   

plaintext:   顯示原始文件內容,例如文件源代碼   
相關文章
相關標籤/搜索