- 每個 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>
