所有類型詳解" type="hidden"/>

【Struts】strust.xml中 所有類型詳解


在默認時, <result>標簽的type屬性值是“dispatcher”(實際上就是轉發,forward)。開發人員可以根據自己的需要指定不同的類型,如redirect、stream等。如下面代碼所示: <result name="save" type="redirect"> /result.jsp </result>
這時result-type可以在struts2-core-2.0.11.1.jar包或struts2源代碼中的 struts-default.xml文件中找到,在這個文件中找到 <result-types>標簽,所有的result-type都在里面定義了。

已配置結果類型名

類 名

描 述

dispatcher org.apache.struts2.dispatcher.
ServletDispatcherResult  
默認結果類型,用來呈現JSP頁面
chain com.opensymphony.xwork2.
ActionChainResult
將action和另外一個action鏈接起來
freemarker org.apache.struts2.views.freemarker.
FreemarkerResult
呈現Freemarker模板
httpheader org.apache.struts2.dispatcher.
HttpHeaderResult
返回一個已配置好的HTTP頭信息響應
redirect org.apache.struts2.dispatcher.
ServletRedirectResult
將用戶重定向到一個已配置好的URL
redirectAction org.apache.struts2.dispatcher.
ServletActionRedirectResult
將用戶重定向到一個已定義好的action
stream org.apache.struts2.dispatcher.
StreamResult
將原始數據作為流傳遞回瀏覽器端,
該結果類型對下載的內容和圖片非常有用
velocity org.apache.struts2.dispatcher.
VelocityResult
呈現Velocity模板
xslt org.apache.struts2.views.xslt.
XSLTResult
呈現XML到瀏覽器,
該XML可以通過XSL模板進行轉換
plaintext org.apache.struts2.dispatcher.
PlainTextResult
返回普通文本類容

 

dispatcher:用於頁面轉發,頁面跳轉過程一直是同一個線程,Action中的數據一直保存在。
redirect:可用於返回一個頁面、一個action、鏈接到一個網址。
   缺點:redirect把一個http返回碼(SUCCESS)以及返回的頁面位置一起重新發給web服務器,容納后由web服務器產生一個新的HTTP請求,就會產生一個新的線程,保存在原來Action執行的線程中的數據就無法訪問。 所以,result需要包含Action的數據,那么redirect不是一個可行的辦法。因為新的HTTP請求時在Servlet容器的新的線程中處理的,ActionContext中的所有狀態都不會存在。
chain:功能與redirect的action轉發類似,不過與redirectaction轉發功能不同的是它可以將Action中的數據一直保存在同一個HTTP請求中。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM