一。Chain Result:
這個result調用另外的一個action,鏈接本身的攔截器棧和result。web
Redirect Action Result:
這個Result使用 ActionMapperFactory提供的ActionMapper來重定位瀏覽器的URL來調用指定的action和(可選 的)namespace. 這個Result比ServletRedirectResult要好.由於你不須要把URL編碼成xwork.xml中配置的ActionMapper提 供的模式. 這就是說你能夠在任意點上改變URL模式而不會影響你的應用程序. 所以強烈推薦使用這個Result而不是標準的redirect result來解決重定位到某個action的狀況.瀏覽器
Redirect Result
調 用{@link HttpServletResponse#sendRedirect(String) sendRedirect}方法來轉到指定的位置. HTTP響應被告知使瀏覽器直接跳轉到指定的位置(產生客戶端的一個新請求). 這樣作的結果會使剛剛執行的action(包括action實例,action中的錯誤消息等)丟失, 再也不可用. 這是由於action是創建在單線程模型基礎上的. 傳遞數據的惟一方式就是經過Session或者能夠爲Ognl表達式的web參數(url?name=value)app
二。當使用type=「redirectAction」 或type=「redirect」提交到一個action而且須要傳遞一個參數時。這裏是有區別的:
a.使用type=「redirectAction」時,結果就只能寫Action的配置名,不能帶有後綴:「.action」
Java代碼jsp
<action name="Login" class="steven.actions.LoginAction">
<result name="success" type="redirectAction">User?u_id=${loginBean.u_id}</result>
</action>編碼
b.使用type=「redirect」時,結果應是action配置名+後綴名
Java代碼
url
<action name="Login" class="steven.actions.LoginAction">
<result name="success" type="redirect">User.action?u_id=${loginBean.u_id}</result>
</action> spa
ps:1 redirect:action處理完後重定向到一個視圖資源(如:jsp頁面),請求參數所有丟失,action處理結果也所有丟失。
2 redirect-action:action處理完後重定向到一個action,請求參數所有丟失,action處理結果也所有丟失。
3 chain:action處理完後轉發到一個action,請求參數所有丟失,action處理結果不會丟失。.net