struts2注解使用.docx

上传人:夺命阿水 文档编号:1474694 上传时间:2024-06-29 格式:DOCX 页数:10 大小:30.37KB
返回 下载 相关 举报
struts2注解使用.docx_第1页
第1页 / 共10页
struts2注解使用.docx_第2页
第2页 / 共10页
struts2注解使用.docx_第3页
第3页 / 共10页
struts2注解使用.docx_第4页
第4页 / 共10页
struts2注解使用.docx_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《struts2注解使用.docx》由会员分享,可在线阅读,更多相关《struts2注解使用.docx(10页珍藏版)》请在课桌文档上搜索。

1、returnHabc;publicStringgetStr()returnstr;publicvoidsetStr(Stringstr)this.str三str;我们可以通过loginl.action访问,而在访问时,str这个属性已经有值,为str=”这是已经注入的!”返回的视图是loginsir.jsp当我们用/Iogin2.action访问时,str的值为null.返回的视图为login2-str.jsp而我们通过gggaccion调用的是abc()方法,返回的视图为ggg-abc.j$p9.与Result配置相关的Annotation1)ResultPathIReSUIt和ReSUIt

2、S2)eReSUltS用于组织多个ReSUlt因此它只需指定一个value属性值,该ValUe属性值为多个RCSUIt3) ReSUIt相当于StrUtS.xml文件中的result元素的做哟欧诺个。运用&Result必需指定个name属性,相当于CreSUItname=/另外,它还有几个可选的属性. type相当于resulttype=”/指定返回视图资源的类型 location相当于result.rcsult中间部分,用于指定实际视图位.置Action级的异样定义:以ExcepIionMUPPingS组合多个EXCePtionMapping后修饰的ACtiOn类。这种异样定义对ACtion

3、,的全部方法有效方法级的异样定义:将多个EXCePtiOnHaPPing组成数组后作为Action的GxceptionMappings属性值,,这种异样定义仅时被修饰的方法有效.12.拦常器配量相关的Annotation与拦截涔配置的AnnotaCiOn有包InterCePtorRef、UInterceptorRefs和eDefaultInterccptorRefInterceptorRefs用于组织多个QlnterceptorRef,因此它只须要指定一个value属性值,该value属性(为多个glnterCCPtOrRefInterceptorRef用于为指定Action引用Ianjieq

4、或者是拦截器校。也就相当于strut,xml中位于action./元素内部的interceptor-ref./子元素的作用.运用&InterceptorRefAnnotation时,必需制定一个ValUe屈性,JIJF指定所引用的拦截器或拦截器栈的名字。相当于Vinierceplo1.ref./子元素里name属性的作用。1.官方介绍的地址:.6docsConVention-plugin,html2. struts,xml文件配置.只选择几个重要的常星说明:(1) struts2.1.6现在只须要一个struts.xml文件就可以f,以前配struts.Iocale=ZhCN,struts,i

5、l8n.encding=UTI8.应用起动时会报一个警告,说没有配置locale,必须要在StrUtS.properties里面配置才不会报错,现在这个问题已经解决了,全部配置都可以在XmI文件中指定了。(2) 扩展名可以指定为空。这样地址栏比较好看。但也会有个问题,就是一些其他SerVIet映射,如cxf,我们会映射地址为/services/*,现在这个地址也变成SIrUIS2限制葩围的地址了,假如按默认的配置.会报找不到action的错误。解决方法是修改mapper类。这在以后文章中会提到。(3) constantiiime=vstruts.enable.DynamiCMelhodInVo

6、CaIion”ValUe=true/开启动态方法。要实现零配置,就是须要动态方法调用。开启action名称可以有“/”,个恳求地址有多个.StrUtS2就不会再运用类路径扫描的命名空间,只会运用配置的名称.所以既想action名称里运用“/”,又想用SlrUtS2默认搜寻的命名空间,只能自己修改一下convention插件的实现类了。(4) conslantname=slruls.ui.lhemeYaIUe=simple/)不用dojo的及struts2困难标签样式的就把主题设置为simple.这样可以不加教多余的模板。(5) constantn开启开发者模式,在平常开发时修改action的小

7、im配汽可以不重启,但是修改StrUtS.xml文件还是要重启。修改类的详细内容,debug模式下可以不重启,或是运用javarebcl,这个不在探讨范闱。constantname-*struts.convention,result,path,rva1ue=/IEBTNF/pages/)指定结果页面路径。convention插件会自动在此路径中找寻文件。放到WEBTNF的目的的爱护文件资源,只能通过程序内部跳转才能访问,我们的权限拦被器或其他权限处理只要加到action上就可以了。(7) constantname=struts.convention,action,suffixYalUe=Act

8、ion”/)constanlnune=,struls.convention,action,name,separator*VaIUe=一个action名字的获得比如为HeIIOWorldACtiono依据配置,acIionNtime为helloworld.(8)是否不扫描类。肯定要设为false,否则COnVentiOn插件不起作用,零配理也没有意义.(9)constantname=struts.convention,default,parent,package*VaIUe=default/)设置默认的父包,一股我们都设置一个default包继承自StrUtS-default。大部分类再继承de

9、fault。假如仃特别的类须要特别的包,只能在action中再指定父包(10) constantname=,struts,convention.package,locatorsValUe=action”/)cnslantnune=struts,convention,package,locators,disable”VaIUe=false”/)确定拽寻包的路径。只要是结尾为action的包都要搜寻。basePackage依据默认不用配置,假如配置,只会找以此配置开头的包。I。CatOrS及locators.basePackage都是一组以逗号分割的字符串。(11) 解除哪些包不搜寻。按默认配置即

10、可。逗号分割字符串。(12) 包括哪些jar包中的action,逗号分割字符串。(13)constantname-struts.convention,relative,result,types*ValUe=dispalcher,freenarker,velocity”/)默认返回的结果类型搜寻。按依次先找相关的dispatcher的jsp文件是否存在。然后再找freemarker,再找velocity.(14) constantname=*struts.convention,result,fIat1.ayout*ValUe-true/假如此值设为true,假如一个action的命名空间为/lo

11、gin,名称为HeIIoWOrIdACtiOn。result返回值是SUCCeSs,默认会找到WEB-INFpagesloginhello_world.jsp(lhoilo_worldsuccess,jsp就找这个文件,连接符“是在中配置的)。假如有一个action的result返回值是error”,就会找/IEBTNF/pageslogin/he11o_wor1d_error.jsp,假如此值设为false,假如一个action的命名空间为/login,名称为HCIIoWOrIdACtiOn。result返回值是success.默认会找到/WEB-INF/pages/login/hello-

12、world/index,jsp(假如有SUCCeSs.jsp就找这个文件假如有一个aclion的result返回值是“error”,就会找/WEB-INF/PageSlogin/he11o_wor1d/error,jsp。(15) constantrume=,struls.convention.aclion.maplIMatchesVaIUe=false”/constantname=struts.convention,redirect,to.slashValUe=true/)这几个配置没有太多的实际意义,本着最小检查的原则就可以。(16)默认拦截器配置,已经简化了很多,一般不须要ChHin和f

13、ileupload.BodelDriven也没什么用,假如我们要运用restful1插件会有用。其实最简洁只要个ParamS就可以了。我加入exception是为了开发时的异样。SerVICtCOnfig是为了包装一下request,reponse等对象,staticParams是为(可以配巴$。形式参数。UCIiOnMuPPingParUmS是slruls2.1新增的,我初步认为是可以在action配置中传参数,这个还有些疑问。interceplor-stacknQnlerceplo1.refname=paramsstruts2注解2012-02-2414:44:30分类:javaweb开发

14、备忘!字号订阅一、配置Beb.xmlstruts2org.apache,struls2.disptcher.ng.filter.StrutsPrepareAndExecuteFilteractionf,ackagesparcon.lest,actionparstruls2*二、加入注解Namespace(VaIUe=/test*)ction(value=ile-manuger,interceptoRefs=InterceptorRef(value=*fiIe1.pload*,params=*maximunSize*,*1024000”,*alIowedTypes*,*imagepjpeg),l

15、nterceptoRef(value=basicStack),results=lResult(name=ActionSupport.SUCCESS,location=*/view/fi1e-manager-sucess.jsp),Result(name=ACliOnSUPPorI.ERROR,IOealion=viewfi1e-manager-error,jsp),exceptiOnMappings=eExceptionMapping(exception=*java.lang.Exception*,result-ActionSupport.ERROR)?)验证注解:Yalidations(rc

16、quiredStrings=1ReqUiredSIringValidalor(CieldNaae=USername,message=用户名不微为空!”),RcquircdStringValidator(fieldName=te1Num,message=电话号码不能为空).regexFields=(SRegexFie1dVa1idator(fieldNa11c-te1Num”,expression=(+860l)d10,ll)5message=电话号码格式不正确!)跳过验证注解:SkipValidation三、ConventionAnnotationi)与Action相关的两个Annotatio

17、n是ACIion和AClionS2)Action中可指定一个YaIUe属性。类似于指定actionname=/属性值3) Action中还可以指定个Paran)S属性,核属性是一个字符串数组,用于该Aeion指定的参数名和参数值.params属性应遵守如下格式:(namel,VaIUe1,nume2,value2”4) Actions也用于修饰ACtion类里的方法,用于将该方法映射到多个UR1.Actions用于组织多个觥Ction.因此它可将个方法映射成多个逻辑Action.四、与Result配置相关的AnnotationI)QResultPathResult和ReSUItS2)Resul

18、ts用于组织多个ReSUIt因此它只需指定个value网性值,该value属性值为多个ReSUIt3) Result相当于struts.xml文件中的resull/元素。运用Result必需指定一个name属性,相当于resultname=/另外,它还有几个可选的属性。type相当于resulttype=/指定返回视图资源的类型location相当于result.result中间部分,用于指定实际视图位置params:该属性相当于result/元素里多个param./子元素的作用,用于为该RCSUh指定参数值,该属性应满意“namcl,valuel,wname2w,11VahIe2”格式4)

19、ResulI有以下两种用法1 .Action级的Result映射:以Actions组,合多个ACtion后修饰的Action类。这种Result映射对该ACtion里的全部方法都有效。2 .方法级Result映射:将多个WCSUlt组成数组后作为AetiOn的results属性值。这种ReSUll映射仪对被修饰的方法有效。5) ReSUItPath则用于修饰包和ACtiOn类,用于变更被修饰ACtiOn所对应的物理视图资源的根路径。举例说:默认状况下,Convention都会到WEB-INFZcontent路径下找物理视图资源,一旦我们运用ReSUkPathr/view)修饰该Action,系

20、统将回到YieW书目下找寻物理视图资源。五、与包和命名空间相关的AnnotatiOn:蒯amespace:修饰ACtion类或其所在的色。该AnnotatiOn中指定一个VaIUe属性值,用手指定被修饰的ACtiCn所在的命名空间Namespaces:修饰Action类或其所在的包,用于组合多个到HmeSPUCeWParentPackage:用于指定被修饰的ACtiOn所在包的父包。六、与异样处理相关的AnnOtatiOneExceptionMappings用丁组织多个EXCePIionMapping,因此它只需指定一个value屈性值,该value属性值为多个eExceplionMappin

21、g。EXCePtiOnNaPPing用于定义异样类和物理视图之间的对应关系,也相当于struts.xml文件里exception-mapping.元素的作用运用时,必需留意以下两个属性:exception:用于指定异样类result:用于指定逻辑视图eExceptionMpping有如下两种用法Action级的异样定义:以gExcepliOnMappings组合多个Exc。PtionMaPPing后修饰的AClion类。这种异样定义对ACtin中的全部方法有效方法级的异样定义:将多个旧ExceptionMapping组成数组后作为Action的CxccptionMappingsM性值,这种异样

22、定义仅对被修饰的方法有效。七、与拦械器配置相关的AnnOtation与拦截器配巴的Annotation有QInierceplorRef、1(HerceptorRefs和DefaultlnCerceptorRefInterceptorRefs用于组织多个WnterceptorRcf,因此它只须要指定个value属性值,该value属性值,为多个glntorceptorRefeinicrcw川R,用于为指定Aclign引用Ianjieq或者是拦截器栈。呼相当于strut,xml中位于action./元素内部的interceptor-ref./子元素的作用。运用&lnterccptorRefAnno

23、tation时,必需制定,个VaIUe属性,用于指定所引用的拦截器或拦截器栈的名字。相当于interceptor-ref./子元素里name屈性的作用。八、查看struts2配置为了看到StrUtS2应用里的ACtion等各种资源的影射状况,struts2供应了ConfigBroWSer插件。运用方法:将struts2-conig-brorser-plugin-2.1.6.jar文件复制到SlrUlS2应用的WEB-INFUib书目中。打开首页地址:1。CaIhoSt:8080/应用名字/config-browser/actionNames.action这里可以看到COnfigBrOWSer插

24、件的首页。1)与Action相关的两个Annotation是Action和ACtionSACtiOn巾可指定一个ValUeM性“类忸于指定actionname=,M性值3) ACtIon中还可以指定个ParamS属性,该属性是个字符串数俎,用于该AdOn指定的昼数名和整数值.ParamS届件应遵守如卜格式:(name7valuer7name2,value24) Actions也用于修饰Aetion类里的方法,用于将该方法映射到多个UR1.ActionS用于组织多个Action.内此它可将个方法映射成多个逻辑Action-与Result配置相关的AnnOIalion1) ResultPathRe

25、sult和Results2) Results用于组织多个ReWlt因此它只需指定一个value属性值,该value属性值为多个ReSUIt3) Re$ultHIt1Strutsxml文件中的result/元素的做哟欧诺个.运用整ReSInt必常指定个name属性,相当于VreSUltname=/另外,它还有几个UJ选的属性。 type相当于VreSUlttyPe=/指定返回视图资源的类型 I。CatIon相当于result,.resutt间部分,用F指定实际视图位置.ParamS:该属性相当于result元泰里多个param.子元索的作月|,用于为该ReSUlt指定参数值.该屈性应满意(*na

26、me7valuel7name2TVaIlJe2)格式4)Result有以下两种用法1 Action级的Result映射:以AetiOnS纲合多个ACtiOn后修饰的Action类。这种Result映射对该Action里的全部方法都仃效.2方法法Result映射:将多个Result组成数组后作为ACtion的results屈性(ft.这种Result映射仪时被修饰的方法有效,5)ResuItPath则用于修饰包和Action类,用于变更彼修饰Action所对放的物理视图资源的极路径,举例说:默认状况下,COnVentiOn都会到WEBINF/content路径卜找初理机图资i%U我们运用ReSU

27、ItPath(abc)修饰该Aaion,系统将回到abc书目下找J物理视图资圾举例:在荻认状况下,Convention都会到WEB-INconent路径下需找物理视图资源,一旦我们均用ReSUItPathe7abc)修饰该Action.系统会到abc书目下找寻物理视图资源.与包和命名空间相关的AnnotationNameSPace:怪饰ACtiOn类或丈所在的包一该Annotation中指定一个valuett(ft.J-P指定被修饰的Action所在的命名空间NameSPaces:修饰ACtiOn类或JE所在的包.川:组合多个NameSPaCeParentPaCkage:小丁指定她修饰的Act

28、ion所在包的夫包.异样处理相关的AnnotationEXCePttonMaPPingS用THI织多个EXCePtlOnMaPPing,因此它只需指定,个VakIe属性值,该ValUe属性值为多个EXCePtiOnMaPPing.EXCePtiOnMaPPing用于定义异样类和物理视图之间的对应关系,也和1于StrUtS.xml文件里ecePHorVmaPPIn8“/元家的作用运用时,必常留意以下两个,M性:exception:用于指定异样类result:;j;!;:.-J2VEXCePtiOnMPPing行如下两柠用法Action徼的蚌样定义:以ExceptionMappings组合多个EX

29、CePtiOnMaPPing后楼饰的Action类.这种剂丫定义为Action中的全部方法Tf效方法级的异样定义:将多个ExceptionMapping组成故组后价为Action的exceptionMappings.性心,这种l!Z仅对被修饰的方ifj.拦截游配置相关的Annotation与拦截器配置的Annotation有QIntercepIorRef、InterceptorRefs和DefauItInterceptorRefelnterceplorRefs用于组织多个QlnlercepiorRef,因此它只须要指定一个value属性值,该value属性值为多个QInterceptorRefeInterceptorRef用于为指定ACtiOn引用Ianjieq或者是拦截器栈。也就相当于StrUt.xml中位于action./元素内部的interceptor-ref./子元素的作用。运用NInlercePIorRefAnnOlaIiOn时,必需制定一个VUlUe属性,用于指定所引用的拦截器或拦截器栈的名字。相当于interceptor-ref./子元素里name属性的作用“

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号