Struts2 中 Result的 Chain Result,Redirect Action Result,Redirect Result 三者之間的區(qū)別


          Chain Result:
          這個result調用另外的一個action,連接自己的攔截器棧和result。
          • actionName (默認) - 被調用的action的名字
          • namespace - 被調用的action的名稱空間. 如果名稱空間為空,這默認為當前名稱空間
          • method - 用于指定目標action的另一個方法被調用. 如果空,默認為excute方法
          Redirect Action Result:
          這個Result使用ActionMapperFactory提供的ActionMapper來重定位瀏覽器的URL來調用指定的action和(可選的)namespace. 這個Result比ServletRedirectResult要好.因為你不需要把URL編碼成xwork.xml中配置的ActionMapper提供的模式. 這就是說你可以在任意點上改變URL模式而不會影響你的應用程序. 因此強烈推薦使用這個Result而不是標準的redirect result來解決重定位到某個action的情況.
          • ActionName (默認) - 重定位到的action名
          • namespace - action的名稱空間. 如果為null,則為當前名稱空間

          Redirect Result

          調用{@link HttpServletResponse#sendRedirect(String) sendRedirect}方法來轉到指定的位置. HTTP響應被告知使瀏覽器直接跳轉到指定的位置(產生客戶端的一個新請求). 這樣做的結果會使剛剛執(zhí)行的action(包括action實例,action中的錯誤消息等)丟失, 不再可用. 這是因為action是建立在單線程模型基礎上的. 傳遞數(shù)據(jù)的唯一方式就是通過Session或者可以為Ognl表達式的web參數(shù)(url?name=value)

          • location (默認) - action執(zhí)行后跳轉的地址.
          • parse - 默認為true. 如果設置為false, location參數(shù)不會被當作Ognl表達式解析.

          <result name="success" type="redirect">/displayCart.action?userId=${userId}</result>
          ------------
          Chain result type is used for Action Chaining which means that the source result invokes an entire other action, complete with it's own interceptor stack and result.







          Redirect Action result type is used to redirect to another Action which means making your source Action, after it has successfully executed, result in a redirect.






          As a rule, Action Chaining is not recommended. Redirect Result or the Redirect Action Result is preferred over Chain Result.

          posted on 2009-04-26 23:04 luofeng225 閱讀(2655) 評論(0)  編輯  收藏 所屬分類: Struts2

          <2009年4月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          導航

          統(tǒng)計

          公告

          我曾經聽到這么一個故事: 一個年輕的程序員問一個老程序員(一個比較牛逼的公司的CTO) 年輕程序員: 你為什么這么牛X., 就好像沒有你不會的。老程序員: 積累的。年輕程序員: 怎么才能積累到您的程度呢。我每天都在積累。但是似乎都沒有感覺到進步。老程序員: 我從20歲開始做到了一件事情,直到今天,而且盡可能地保證不間斷。年輕程序員: 到底是什么? 老程序員: 我每天保證自己有2個小時在學習新的東西。

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          相冊

          收藏夾

          Java Website

          java技術博客

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 娱乐| 静宁县| 绥阳县| 格尔木市| 南丹县| 连平县| 河池市| 西城区| 舞钢市| 南宁市| 木里| 海淀区| 临汾市| 清流县| 金门县| 宜良县| 班戈县| 富蕴县| 静宁县| 重庆市| 信宜市| 泗阳县| 二手房| 德庆县| 分宜县| 大化| 南澳县| 阿克陶县| 林口县| 马关县| 闸北区| 新田县| 贵州省| 高碑店市| 琼结县| 华坪县| 三明市| 安乡县| 电白县| 抚州市| 太和县|