Struts2提供了對(duì)不同種類(lèi)返回結(jié)果的支持,常見(jiàn)的有JSP,F(xiàn)reeMarker,Velocity等。
Struts2支持的不同類(lèi)型的返回結(jié)果為:
名字
說(shuō)明
Chain Result
用來(lái)處理Action鏈
(1)主要用于把相關(guān)的幾個(gè)action連接起來(lái),共同完成一個(gè)功能。
HttpServletRequest request =
ServletActionContext.getRequest();
String
s=(String)request.getAttribute("propName");
Dispatcher Result
用來(lái)轉(zhuǎn)向頁(yè)面分發(fā)請(qǐng)求,通常處理JSP
FreeMarker Result
處理FreeMarker模板
HttpHeader Result
用來(lái)控制特殊的Http行為
Redirect Result
重定向到一個(gè)URL
sendRedirect是重定向,是重新產(chǎn)生一個(gè)HTTP請(qǐng)求到服務(wù)器,故重定向后其原來(lái)所在的action上下文就不可用了。
Redirect Action Result
重定向到一個(gè)Action
Stream Result
向?yàn)g覽器發(fā)送InputSream對(duì)象,通常用來(lái)處理文件下載
Velocity Result
處理Velocity模板
XLS Result
處理XML/XLST模板
PlainText Result
顯示原始文件內(nèi)容,例如文件源代碼
S2PLUGINS:Tiles Result
結(jié)合Tile使用
JSON:Json Result
返回Json結(jié)果
他們主要的區(qū)別在于
Struts2支持的不同類(lèi)型的返回結(jié)果為:
名字
說(shuō)明
Chain Result
用來(lái)處理Action鏈
(1)主要用于把相關(guān)的幾個(gè)action連接起來(lái),共同完成一個(gè)功能。
(3)多個(gè)action間數(shù)據(jù)的傳遞
主要有兩種方式:
1。由于處于chain中的action屬于同一個(gè)http請(qǐng)求,共享一個(gè)ActionContext,故可以在上下文中獲取,在頁(yè)面上可以直接使 用。手動(dòng)獲取的方法如下:
2。實(shí)現(xiàn)ModelDriven接口
Dispatcher Result
用來(lái)轉(zhuǎn)向頁(yè)面分發(fā)請(qǐng)求,通常處理JSP
FreeMarker Result
處理FreeMarker模板
HttpHeader Result
用來(lái)控制特殊的Http行為
Redirect Result
重定向到一個(gè)URL
sendRedirect是重定向,是重新產(chǎn)生一個(gè)HTTP請(qǐng)求到服務(wù)器,故重定向后其原來(lái)所在的action上下文就不可用了。
Redirect Action Result
重定向到一個(gè)Action
Stream Result
向?yàn)g覽器發(fā)送InputSream對(duì)象,通常用來(lái)處理文件下載
Velocity Result
處理Velocity模板
XLS Result
處理XML/XLST模板
PlainText Result
顯示原始文件內(nèi)容,例如文件源代碼
S2PLUGINS:Tiles Result
結(jié)合Tile使用
JSON:Json Result
返回Json結(jié)果
他們主要的區(qū)別在于