Struts2 中 Result的 Chain Result,Redirect Action Result,Redirect Result 三者之間的區別


          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響應被告知使瀏覽器直接跳轉到指定的位置(產生客戶端的一個新請求). 這樣做的結果會使剛剛執行的action(包括action實例,action中的錯誤消息等)丟失, 不再可用. 這是因為action是建立在單線程模型基礎上的. 傳遞數據的唯一方式就是通過Session或者可以為Ognl表達式的web參數(url?name=value)

          • location (默認) - action執行后跳轉的地址.
          • parse - 默認為true. 如果設置為false, location參數不會被當作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 閱讀(2651) 評論(0)  編輯  收藏 所屬分類: Struts2

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

          導航

          統計

          公告

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

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          相冊

          收藏夾

          Java Website

          java技術博客

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 砀山县| 沐川县| 建水县| 谢通门县| 江津市| 高碑店市| 景洪市| 永昌县| 甘泉县| 沙湾县| 兴和县| 伊通| 曲麻莱县| 工布江达县| 泾阳县| 娄底市| 临海市| 稷山县| 西青区| 师宗县| 杭锦后旗| 惠水县| 黑龙江省| 拜城县| 宣化县| 岳阳县| 黔西县| 乌什县| 连云港市| 江门市| 安顺市| 鲁甸县| 砚山县| 洱源县| 台江县| 宁阳县| 调兵山市| 禹城市| 崇礼县| 昭觉县| 古蔺县|