1、 每個action方法都返回乙個string型別的值,struts一次請求返回什麼值是由這個值確定的。
2、 在配置檔案中,每乙個action元素的配置都必須有result元素,每乙個result對應乙個action的返回值。
3、 result有兩個屬性:
name:結果的名字,和action中的返回值一樣,預設值為success;
type:響應結果型別,預設值為dispatcher.
在
下面找到struts-default.xml檔案中,如下面所示:
說明:1、 從上述可以看出總共10種型別
2、 預設型別為servletdispatcherresult即**。
3、 結果型別可以是這10種結果型別的任意一種。
(1)、 說明
dispatcher型別是最常用的結果型別,也是struts框架預設的結果型別。
(2)、 例子
頁面參照:/manager/index.jsp
action參照:adminaction
配置檔案:struts.xml
在配置檔案中,可以有兩種寫法:
下面的圖說明了location的來歷:
檢視原始碼:
(1)、 說明
redirect屬於重定向。如果用redirect型別,則在reuqest作用域的值不能傳遞到前台。
(1)、說明
1、 把結果型別重新定向到action
2、 可以接受兩種引數
a) actionname: action的名字
b) namespace:命名空間
第一種方式:
resulttype/redirectactionaction.action
第二種方式:
actionname:
請求的action的路徑
namespace:
如果不寫,預設就是請求的action的路徑,如果寫,路徑將被重新賦值
resulttype/redirectactionaction.action
(2)、 例子
第一種方式:
resulttype/redirectactionaction.action
第二種方式:
actionname:
請求的action的路徑
namespace:
如果不寫,預設就是請求的action的路徑,如果寫,路徑將被重新賦值
resulttype/redirectactionaction.action
action名稱的搜尋順序
1、獲得請求路徑的uri,例如url是:http://server/struts2/path1/path2/path3/test.action
2.首先尋找namespace為/path1/path2/path3的package,如果存在這個package,則在這個package中尋找名字為test的action,如果不存在這個package則轉步驟3;
3.尋找namespace為/path1/path2的package,如果存在這個package,則在這個package中尋找名字為test的action,如果不存在這個package,則轉步驟4;
4.尋找namespace為/path1的package,如果存在這個package,則在這個package中尋找名字為test的action,如果仍然不存在這個package,就去預設的namaspace的package下面去找名字為test的action(預設的命名空間為空字串""),如果還是找不到,頁面提示找不到action。
action原型 struts2
prototype 原型 每次請求都會建立乙個新的action物件
singleton 原型 當第一次請求時,建立servlet物件 之後每次都使用該物件即可。
servlet的生命週期
建立---init---service---destory
struts2結果型別
在struts2 core 2.3.1.1.jar struts de t.xml配置檔案下可以看到 省略 chain 兩個action之間的 dispatcher action 到jsp freemarker 處理freemarker用的 httpheader 處理特殊http redirect ...
Struts2結果型別
struts2結果型別 1.dispatcher 將當前請求request和response移交給另乙個servlet,預設型別 2.redirect 重定向 關閉當前請求,改變瀏覽器指向的url,不移交request和response secure adminportfolio.action 末尾...
struts2結果型別
struts2結果型別 結果型別 描述 前request域屬性是否丟失 1dispatcher 用於與jsp整合的結果型別。預設結果型別。2chain action鏈式處理結果型別。前乙個action設定的request域屬性不丟失。不丟失3 redirect 用於直接跳轉到其他頁面url的結果型別...