struts2中使用注解配置Action方法詳解
使用注解來(lái)配置Action可以實(shí)現(xiàn)零配置,零配置將從基于純XML的配置轉(zhuǎn)化為基于注解的配置。使用注解,可以在大多數(shù)情況下避免使用struts.xml文件來(lái)進(jìn)行配置。
struts2框架提供了四個(gè)與Action相關(guān)的注解類型,分別為ParentPackage、Namespace、Result和Action。
ParentPackage:ParentPackage注解用于指定Action所在的包要繼承的父包。該注解只有一個(gè)value參數(shù)。用于指定要繼承的父包。
示例:
使用ParentPackage注解,其value值為mypackage,表示所在的Action需要繼承mypackage包,
@ParentPackage(value="mypackage") public class UserAction extends ActionSupport{ }
如果注解中只有一個(gè)value參數(shù)值,或者其他參數(shù)值都使用默認(rèn)值時(shí),則可以對(duì)value參數(shù)設(shè)置進(jìn)行簡(jiǎn)寫(xiě),比如上述的代碼:
@ParentPackage("mypackage") public class UserAction extends ActionSupport{ }
把struts2-convention-pligin-2.x.x.jar包導(dǎo)入到web應(yīng)用中,才能在Action類中使用注解。
Namespace:Namespace注解用于指定Action所在的包的命名空間。該注解只有一個(gè)value參數(shù),用于指定ACtion所屬于的命名空間。
當(dāng)使用Namespace注解時(shí),在為命名空間取名需要使用斜杠(/)開(kāi)頭。
使用Namespace注解,指定其Action所在的包的命名空間為/user:
@Namespace("/user") public class UserAction extends ActionSupport{ }
Result:Result注解用于定義一個(gè)Result映射,該注解包含四個(gè)參數(shù),
1)name:可選參數(shù),用于指定Result的邏輯名,默認(rèn)值為success
2)location:必選參數(shù),用于指定Result對(duì)應(yīng)資源的URL
3)type:可選參數(shù),用于指定Result的類型,默認(rèn)值為NullResult.class
4)params:可選參數(shù),用于為Result指定要傳遞的參數(shù),格式為:{key1,value1,key2,value2,...}
如果type參數(shù)的值為NullResult.class,那么struts2框架在解析Result配置時(shí),會(huì)使用默認(rèn)的結(jié)果類型(即ServletDispatcherResult)來(lái)替換NullResult。
@Result(name="login",location="/login.jsp",params={},type="dispatcher") public class UserAction extends ActionSupport{ }
Action:Action注解對(duì)應(yīng)于struts.xml文件中的action元素。該注解可用于Action類上,也可用于方法上。這個(gè)注解包含一下的幾個(gè)屬性:
1)value:可選參數(shù),表示Action的名字
2)results:可選參數(shù),表示Action的多個(gè)Result映射。該屬性用于定義一組Result映射
3)interceptorRefs:可選參數(shù),表示Action的多個(gè)攔截器。該屬性用于定義一組攔截器
4)params:可選參數(shù),表示傳遞給Action的參數(shù),格式為{key1,value1,key2,value2,...}
5)exceptionMappings:可選參數(shù),指定Action的異常處理類,他是一個(gè)Exception-Mapping的數(shù)組屬性
@Action{ value="user", interceptorRefs = { @InterceptorRefs(value="fileUpload",params={"maximumSize","1024000","allowedTypes",image/123}), @InterceptorRefs(value = "basicStack") }, results = { @Result(name="success",location="success.jsp"), @Result(name="login",location="login.jsp") }, exceptionMappings = { @ExceptionMapping(exception="java.lang.Exception",result="error") } } public class UserAction extends ActionSupport{ }
總結(jié)
以上就是本文關(guān)于struts2中使用注解配置Action方法詳解的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:struts2中類型轉(zhuǎn)換實(shí)例代碼、Struts2 通過(guò)ognl表達(dá)式實(shí)現(xiàn)投影、Struts2修改上傳文件大小限制方法解析等,有什么問(wèn)題可以隨時(shí)留言,小編會(huì)及時(shí)回復(fù)大家的。感謝朋友們對(duì)本站的支持。下面介紹幾款不錯(cuò)的小游戲,大家在工作學(xué)習(xí)之余可以放松下心情,勞逸結(jié)合才是最好的。
遠(yuǎn)古邊境 英文免安裝版
http://www.dbjr.com.cn/game/578720.html
火柴人戰(zhàn)斗 英文免安裝版
http://www.dbjr.com.cn/game/578719.html
希望大家能夠喜歡。
- Struts2的配置 struts.xml Action詳解
- 詳解在Java的Struts2框架中配置Action的方法
- Struts 2中的constant配置詳解
- Struts2開(kāi)發(fā) 基本配置與類型轉(zhuǎn)換
- Struts2學(xué)習(xí)筆記(9)-Result配置全局結(jié)果集
- struts2開(kāi)發(fā)流程及詳細(xì)配置
- struts2配置靜態(tài)資源代碼詳解
- struts2入門(mén)(搭建環(huán)境、配置、示例)詳解
- Struts2的配置文件方法小結(jié)
- Struts2.5版本struts.xml與web.xml配置的更改方法
相關(guān)文章
SpringMVC結(jié)合模板模式實(shí)現(xiàn)MyBatisPlus傳遞嵌套JSON數(shù)據(jù)
我們經(jīng)常會(huì)遇到需要傳遞對(duì)象的場(chǎng)景,有時(shí)候,我們需要將一個(gè)對(duì)象的數(shù)據(jù)傳遞給另一個(gè)對(duì)象進(jìn)行處理,但是又不希望直接暴露對(duì)象的內(nèi)部結(jié)構(gòu)和實(shí)現(xiàn)細(xì)節(jié),所以本文給大家介紹了SpringMVC結(jié)合模板模式實(shí)現(xiàn)MyBatisPlus傳遞嵌套JSON數(shù)據(jù),需要的朋友可以參考下2024-03-03spring?boot使用攔截器修改請(qǐng)求URL域名?換?IP?訪問(wèn)的方法
Spring Interceptor是一個(gè)非常類似于Servlet Filter 的概念 ,這篇文章主要介紹了spring?boot使用攔截器修改請(qǐng)求URL域名?換?IP?訪問(wèn)的相關(guān)知識(shí),需要的朋友可以參考下2022-09-09Spring Boot 中常用的注解@RequestParam及基本用法
@RequestParam 是 Spring Framework 和 Spring Boot 中常用的注解之一,用于從請(qǐng)求中獲取參數(shù)值,本文給大家介紹Spring Boot 中常用的注解@RequestParam,感興趣的朋友一起看看吧2023-10-10利用Springboot+Caffeine實(shí)現(xiàn)本地緩存實(shí)例代碼
Caffeine是一個(gè)基于Java8開(kāi)發(fā)的提供了近乎最佳命中率的高性能的緩存庫(kù),下面這篇文章主要給大家介紹了關(guān)于利用Springboot+Caffeine實(shí)現(xiàn)本地緩存的相關(guān)資料,需要的朋友可以參考下2023-01-01Centos 7 安裝 OpenJDK 11 兩種方式及問(wèn)題小結(jié)
這篇文章主要介紹了Centos 7 安裝 OpenJDK 11 兩種方式,第一種方式使用yum安裝,第二種方式使用tar解壓安裝,每種方法給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-09-09Java如何搭建一個(gè)個(gè)人網(wǎng)盤(pán)
這篇文章主要介紹了Java如何搭建一個(gè)個(gè)人網(wǎng)盤(pán),對(duì)網(wǎng)盤(pán)感興趣的讀者,可以參考一下2021-04-04詳解Spring Data JPA中Repository的接口查詢方法
repository代理有兩種方式從方法名中派生出特定存儲(chǔ)查詢:通過(guò)直接從方法名派生查詢和通過(guò)使用一個(gè)手動(dòng)定義的查詢。本文將通過(guò)示例詳細(xì)講解Spring Data JPA中Repository的接口查詢方法,需要的可以參考一下2022-04-04