在Struts2中的結(jié)果集類型
1、每個(gè)action方法都返回一個(gè)String類型的值,struts一次請(qǐng)求返回什么值是由這個(gè)值確定的。
2、在配置文件中,每一個(gè)action元素的配置都必須有result元素,每一個(gè)result對(duì)應(yīng)一個(gè)action的返回值。
3、Result有兩個(gè)屬性:
name:結(jié)果的名字,和action中的返回值一樣,默認(rèn)值為success;
type:響應(yīng)結(jié)果類型,默認(rèn)值為dispatcher.
在
下面找到struts-default.xml文件中,如下面所示:

說(shuō)明:
1、從上述可以看出總共10種類型
2、默認(rèn)類型為ServletDispatcherResult即轉(zhuǎn)發(fā)。
3、結(jié)果類型可以是這10種結(jié)果類型的任意一種。
Dispatcher類型(1)、 說(shuō)明Dispatcher類型是最常用的結(jié)果類型,也是struts框架默認(rèn)的結(jié)果類型。
(2)、 例子頁(yè)面參照:/manager/index.jsp
Action參照:AdminAction
配置文件:struts.xml
在配置文件中,可以有兩種寫法:

下面的圖說(shuō)明了location的來(lái)歷:

查看源碼:

Redirect屬于重定向。如果用redirect類型,則在reuqest作用域的值不能傳遞到前臺(tái)。
redirectAction類型(1)、說(shuō)明1、把結(jié)果類型重新定向到action
2、可以接受兩種參數(shù)
a) actionName: action的名字
b) namespace:命名空間
第一種方式:
<result name="success" type="redirectAction">resulttype/redirectactionAction.action</result>
第二種方式:
<result name="success" type="redirectAction">
<!--
actionName:
請(qǐng)求的action的路徑
namespace:
如果不寫,默認(rèn)就是請(qǐng)求的action的路徑,如果寫,路徑將被重新賦值
-->
<param name="actionName">
resulttype/redirectactionAction.action
</param>
</result>
第一種方式:
<result name="success" type="redirectAction">resulttype/redirectactionAction.action</result>
第二種方式:
<result name="success"type="redirectAction">
<!--
actionName:
請(qǐng)求的action的路徑
namespace:
如果不寫,默認(rèn)就是請(qǐng)求的action的路徑,如果寫,路徑將被重新賦值
-->
<paramname="actionName">
resulttype/redirectactionAction.action
</param>
</result>
<package name=”ss” namespace=”/csdn/csdn”>
<action=”delete”>
</package>
<package name=”test” namespace=”/csdn”>
<action=”delete”>
</package>
<package name=”sss” namespace=””>
<action=”delete”>
</package>
Action名稱的搜索順序
1、獲得請(qǐng)求路徑的URI,例如url是:http://server/struts2/path1/path2/path3/test.action
2.首先尋找namespace為/path1/path2/path3的package,如果存在這個(gè)package,則在這個(gè)package中尋找名字為test的action,如果不存在這個(gè)package則轉(zhuǎn)步驟3;
3.尋找namespace為/path1/path2的package,如果存在這個(gè)package,則在這個(gè)package中尋找名字為test的action,如果不存在這個(gè)package,則轉(zhuǎn)步驟4;
4.尋找namespace為/path1的package,如果存在這個(gè)package,則在這個(gè)package中尋找名字為test的action,如果仍然不存在這個(gè)package,就去默認(rèn)的namaspace的package下面去找名字為test的action(默認(rèn)的命名空間為空字符串""),如果還是找不到,頁(yè)面提示找不到action。
Action原型struts2
Prototype 原型 每次請(qǐng)求都會(huì)創(chuàng)建一個(gè)新的Action對(duì)象

Servlet
Singleton 原型 當(dāng)?shù)谝淮握?qǐng)求時(shí),創(chuàng)建servlet對(duì)象 之后每次都使用該對(duì)象即可。
Servlet的生命周期
創(chuàng)建---init---service---destory
相關(guān)文章
SpringMVC基于注解方式實(shí)現(xiàn)上傳下載
本文主要介紹了SpringMVC基于注解方式實(shí)現(xiàn)上傳下載,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04
Spring?boot?使用QQ郵箱進(jìn)行一個(gè)驗(yàn)證登入功能
這篇文章主要介紹了Spring?boot?使用QQ郵箱進(jìn)行一個(gè)驗(yàn)證登入,主要包括qq郵箱開(kāi)啟權(quán)限和創(chuàng)建發(fā)送驗(yàn)證碼的請(qǐng)求Controller,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-10-10
SpringBoot使用前綴樹(shù)過(guò)濾敏感詞的方法實(shí)例
Trie也叫做字典樹(shù)、前綴樹(shù)(Prefix Tree)、單詞查找樹(shù),特點(diǎn):查找效率高,消耗內(nèi)存大,這篇文章主要給大家介紹了關(guān)于SpringBoot使用前綴樹(shù)過(guò)濾敏感詞的相關(guān)資料,需要的朋友可以參考下2022-01-01
基于resty orm的ActiveRecord操作數(shù)據(jù)指南
這篇文章主要為大家介紹了基于resty orm的ActiveRecord操作數(shù)據(jù)指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03
解析Apache Dubbo的SPI實(shí)現(xiàn)機(jī)制
SPI全稱為Service Provider Interface,對(duì)應(yīng)中文為服務(wù)發(fā)現(xiàn)機(jī)制。SPI類似一種可插拔機(jī)制,首先需要定義一個(gè)接口或一個(gè)約定,然后不同的場(chǎng)景可以對(duì)其進(jìn)行實(shí)現(xiàn),調(diào)用方在使用的時(shí)候無(wú)需過(guò)多關(guān)注具體的實(shí)現(xiàn)細(xì)節(jié)2021-06-06
利用Lambda表達(dá)式創(chuàng)建新線程案例
這篇文章主要介紹了利用Lambda表達(dá)式創(chuàng)建新線程案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08
詳解springboot解決第三方依賴jar包的問(wèn)題
本篇文章主要介紹了詳解springboot解決第三方依賴jar包的問(wèn)題,解決了第三方依賴jar包的問(wèn)題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09
Spring?Boot使用HMAC-SHA256對(duì)訪問(wèn)密鑰加解密
本文主要介紹了使用HMAC-SHA256算法進(jìn)行客戶端和服務(wù)端之間的簽名驗(yàn)簽,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12

