Struts2 - 配置文件中result 節點詳解


  • 每個 action 方法都將返回一個 String 類型的值, Struts 將根據這個值來決定響應什么結果.
  • 每個 action 聲明都必須包含有數量足夠多的 result 元素, 每個 result 元素分別對應着 action 方法的一個返回值.
  • result 元素可以有下面兩個屬性

  –      name: 結果的名字, 必須與 Action 方法的返回值相匹配, 默認值為 success

  –      type: 響應結果的類型. 默認值為 dispatcher

 

請求result的方式:

 

1. 結果類型:  dispatcher

  • dispatcher 結果類型是最常用的結果類型, 也是 struts 框架默認的結果類型
  • 該結果類型有一個 location 參數, 它是一個默認參數
  • dispatcher 結果類型將把控制權轉發給應用程序里的指定資源.
  • dispatcher 結果類型不能把控制權轉發給一個外部資源. 若需要把控制權重定向到一個外部資源, 應該使用 redirect 結果類型

2. 結果類型:  redirect

  • redirect 結果類型將把響應重定向到另一個資源, 而不是轉發給該資源.
  • redirect 結果類型接受下面這些參數:

  –      location: 用來給出重定向的目的地.它是默認屬性

  –      parse: 用來表明是否把 location 參數的值視為一個 OGNL 表達式來解釋. 默認值為 true

  • redirect 結果類型可以把響應重定向到一個外部資源
  • 實例代碼:

 3. 結果類型:  redirectAction

  • redirectAction 結果類型把響應重定向到另一個 Action
  • redirectAction 結果類型接受下面這些參數:

  –      actionName: 指定 “目的地” action 的名字. 它是默認屬性

  –      namespace: 用來指定 “目的地” action 的命名空間. 如果沒有配置該參數, Struts 會把當前 Action 所在的命名空間作為 “目的地” 的命名空間

  • 示例代碼:

 

<!-- 通過 redirect 的響應類型也可以便捷的實現 redirectAction 的功能! -->
<result name="index" type="redirect">/atguigu/testAction.do</result>
<!-- 不能通過 type=dispatcher 的方式轉發到一個 Action -->
<result name="test">/atguigu/testAction.do</result>

  4. 結果類型:  chain

  • chain 結果類型的基本用途是構成一個 action 鏈: 前一個 action 把控制權轉發給后一個 action, 而前一個 action 的狀態在后一個 action 中依然保持
  • chain 結果類型接受下面這些參數:

  –      actionName: 指定目標 action 的名字. 它是默認屬性

  –      namespace: 用來指定 “目的地” action 的命名空間. 如果沒有配置該參數, Struts 會把當前 action 所在的命名空間作為 “目的地” 的命名空間

  –      method: 指定目標 action 方法. 默認值為 execute

 

<!-- 轉發到一個 Action -->
              
<result name="test" type="chain">
    <param name="actionName">testAction</param>
    <param name="namespace">/atguigu</param>
</result>
        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM