struts2中result的type跳转类型总结
1,局部result和全局result
局部result:包含在Action定義中, result屬性是一個Action的子元素。其作用范圍只能在本Action中。
全局result:使用<global-result>來定義,其作用范圍是所有的Action都可以使用
2,result的類型
Struts2框架默認配置中已經提供了很多的result類型,可以打開struts-default.xml配置文件來查看
橙色底是常用的幾個類型:
chain: ? ? ?Action鏈式處理的結果類型,也就是將結果轉發到這個action中,服務端跳轉到Action;
chart: ? ? ??整合JFreeChart的結果類型
dispatcher: 用于整合JSP的結果類型
freemarker:用于整合freemarker結果類型。
httpheader:用于控制特殊的HTTP行為的結果類型。
jasper: ? ? ? ?用于JasperReports整合的結果類型
jsf: ? ? ? ? ? ? ? 用于整合JSF后的結果類型
redirect: ? ? ?實際上dispatcher和redirect的區別就是在于轉發和重定向的區別。
redirect-action:用于直接redirect action。
stream: ? ? ?用于向瀏覽器返回一個Inputstream(用于文件下載)
tiles: ? ? ? ? ? 用于整合Tiles后的結果類型。
velocity: ? ? 用于整合Velocity的結果類型。
xslt: ? ? ? ? ? ?用于整合XML LT的結果類型。
plaintext: ? 用于顯示某個頁面的源代碼
1,chain類型:即是服務器跳轉action
Struts2框架支持配置多個Action組成一個鏈或者工作流來處理用戶的請求,而Action鏈的實現,是通過攔截器 ChainingInterceptor完成的。 ChainingInterceptor在源執行完畢后,將源Action的用戶請求參數、值棧、session的數據賦值給目的Action,也就是 說,在執行多個Action過程中,參數都是保留的。
2,redirect類型
redirect結果類型與Struts2框架默認的結果類型dispatcher相對應。 到dispatcher類型是將請求轉發到指定的視圖資源,而redirect類型是重定向到指定的視圖資源。重定向將會丟失所有的參數、值棧和請求屬 性,即同時失去了Action的處理結果。而dispatcher是類型轉發,將會把上述的所有數據資源轉發給視圖資源。這種機制和servlet技術中的response.sendRedict()和request.getRequestDispacher().forward(),是一樣的道理。
使用redirect類型重定向action時,需要加后綴,如xxx.action
<result name="success" type="redirect">joblistaction.action</result>
3,redirect-action類型:外部跳轉到Action;
redirect-action結果類型與redirect結果類型非常相似,都是重新生成一個新的請求,都是重新定向.但是使用redirect-action類型時不需要加后綴“.action”.
4,dispatcher 用來轉向頁面,通常處理JSP
默認是dispatcher,該類型支持JSP視圖技術。
對應子元素<param>,可以指定下面兩個屬性:
location:該屬性定義了該視圖對應的實際視圖資源
parse:該參數指定是否可以在實際視圖名字中使用OGNL表達式,Struts2框架默認該屬性為true,即支持OGNL表達式。
如果沒有指定result的name屬性,則系統會默認為success;
如果沒有指定location屬性,系統會把<result> </result>中間的字符串當作實際視圖資源來處理。
5.plainText方式
這種方式一般來說使用的比較少,可能用到的情況:原樣輸出源代碼。
總結
以上是生活随笔為你收集整理的struts2中result的type跳转类型总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSS边框素材
- 下一篇: struts2的action之间和act