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