欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    struts2注解使用.docx

    • 资源ID:1474694       资源大小:30.37KB        全文页数:10页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    struts2注解使用.docx

    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和ReSUItS2)eReSUltS用于组织多个®ReSUlt因此它只需指定一个value属性值,该ValUe属性值为多个RCSUIt3) ReSUIt相当于StrUtS.xml文件中的result元素的做哟欧诺个。运用&Result必需指定个name属性,相当于CreSUItname=""/另外,它还有几个可选的属性. type相当于resulttype="”/指定返回视图资源的类型 location相当于result.rcsult中间部分,用于指定实际视图位.置Action级的异样定义:以©ExcepIionMUPPingS组合多个EXCePtionMapping后修饰的ACtiOn类。这种异样定义对ACtion,的全部方法有效方法级的异样定义:将多个EXCePtiOnHaPPing组成数组后作为Action的GxceptionMappings属性值,,这种异样定义仅时被修饰的方法有效.12.拦常器配量相关的Annotation与拦截涔配置的AnnotaCiOn有包InterCePtorRef、UInterceptorRefs和eDefaultInterccptorRefInterceptorRefs用于组织多个QlnterceptorRef,因此它只须要指定一个value属性值,该value属性(为多个glnterCCPtOrRefInterceptorRef用于为指定Action引用Ianjieq或者是拦截器校。也就相当于strut,xml中位于action./>元素内部的interceptor-ref./>子元素的作用.运用&InterceptorRefAnnotation时,必需制定一个ValUe屈性,JIJF指定所引用的拦截器或拦截器栈的名字。相当于Vinierceplo1.ref./>子元素里name属性的作用。1.官方介绍的地址:.6docsConVention-plugin,html2. struts,xml文件配置.只选择几个重要的常星说明:(1) <constantna三e=*strts.locale*value三*zhCN"><constantname-"struts.i18n.encoding"VaIUe="UTF-8”>struts2.1.6现在只须要一个struts.xml文件就可以f<,以前配struts.Iocale=ZhCN,struts,il8n.enc<>ding=UTI8.应用起动时会报一个警告,说没有配置locale,必须要在StrUtS.properties里面配置才不会报错,现在这个问题已经解决了,全部配置都可以在XmI文件中指定了。(2) <conslanlname="slruts.action,extensionvalue="action,do,>扩展名可以指定为空。这样地址栏比较好看。但也会有个问题,就是一些其他SerVIet映射,如cxf,我们会映射地址为/services/*,现在这个地址也变成SIrUIS2限制葩围的地址了,假如按默认的配置.会报找不到action的错误。解决方法是修改mapper类。这在以后文章中会提到。(3) <constantiiime=vstruts.enable.DynamiCMelhodInVoCaIion”ValUe="true"/<constantname="'struts,enable.SlashesInActionNames*value=*true*>开启动态方法。要实现零配置,就是须要动态方法调用。开启action名称可以有“/”,个恳求地址有多个.StrUtS2就不会再运用类路径扫描的命名空间,只会运用配置的名称.所以既想action名称里运用“/”,又想用SlrUtS2默认搜寻的命名空间,只能自己修改一下convention插件的实现类了。(4) <conslantname="slruls.ui.lheme"YaIUe="simple"/)不用dojo的及struts2困难标签样式的就把主题设置为simple.这样可以不加教多余的模板。(5) <constantname="struts.deNode”VaIUe="truc"><constantname-struts.i18n.reload*value=*true><constantn<une=struts.configuration,xml.reload"YUIUe="true7><constantname,struts.convention,classes,reload*'YaIUe="true”>开启开发者模式,在平常开发时修改action的小im配汽可以不重启,但是修改StrUtS.xml文件还是要重启。修改类的详细内容,debug模式下可以不重启,或是运用javarebcl,这个不在探讨范闱。<constantname-*struts.convention,result,path,rva1ue="/IEBTNF/pages/"/)指定结果页面路径。convention插件会自动在此路径中找寻文件。放到WEBTNF的目的的爱护文件资源,只能通过程序内部跳转才能访问,我们的权限拦被器或其他权限处理只要加到action上就可以了。(7) <constantname=struts.convention,action,suffix"YalUe="Action”/)<constantname="'struts,convention,action,name,lowercase*-value=*true*><constanln<une=,struls.convention,action,name,separator*VaIUe=一个action名字的获得<>比如为HeIIOWorldACtiono依据配置,acIionNtime为helloworld.(8)<constantname="struts.convention,action,disabIeScanning*value=*falseV>是否不扫描类。肯定要设为false,否则COnVentiOn插件不起作用,零配理也没有意义.(9)<constantname=struts.convention,default,parent,package*VaIUe="default"/)设置默认的父包,一股我们都设置一个default包继承自StrUtS-default。大部分类再继承default。假如仃特别的类须要特别的包,只能在action中再指定父包(10) <constantname=",struts,convention.package,locators"ValUe="action”/)<cnslantn<une=""struts,convention,package,locators,disable”VaIUe="false”/)<constantname=*struts.convention,package,locators.basePackage*value=*>确定拽寻包的路径。只要是结尾为action的包都要搜寻。basePackage依据默认不用配置,假如配置,只会找以此配置开头的包。I。CatOrS及locators.basePackage都是一组以逗号分割的字符串。(11) <constantname=,struts.convention,exclude,packages*VaIUe-"org.apache,struts.*,org.apache,struts2.*,org.springframework,web.struts.,org.springframework,web.SlrUlS2.*,org.hibernate.*>解除哪些包不搜寻。按默认配置即可。逗号分割字符串。(12) <constantname-struts.convention,action,includejars"value="”>包括哪些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的命名空间为/login,名称为HeIIoWOrIdACtiOn。result返回值是SUCCeSs,默认会找到WEB-INFpagesloginhello_world.jsp(lhoilo_worldsuccess,jsp就找这个文件,连接符“"是在<conslanlname="struts.convention,action,name,separator"VaIUe="一">中配置的)。假如有一个action的result返回值是"error”,就会找/IEBTNF/pageslogin/he11o_wor1d_error.jsp,>假如此值设为false,假如一个action的命名空间为/login,名称为HCIIoWOrIdACtiOn。result返回值是success.默认会找到/WEB-INF/pages/login/hello-world/index,jsp(假如有SUCCeSs.jsp就找这个文件假如有一个aclion的result返回值是“error”,就会找/WEB-INF/PageSlogin/he11o_wor1d/error,jsp。(15) <constantrume=,struls.convention.aclion.maplIMatches"VaIUe="false”/<constantname=*struts.convention,action.CheckImplementsAction*value=*false*><conslantnane=slruts.mapper.alwaysSelecllrulINainespace*value=*faIseV><constantname=struts.convention,redirect,to.slashValUe="true"/)这几个配置没有太多的实际意义,本着最小检查的原则就可以。(16)默认拦截器配置,已经简化了很多,一般不须要ChHin和fileupload.BodelDriven也没什么用,假如我们要运用restful1插件会有用。其实最简洁只要个ParamS就可以了。我加入exception是为了开发时的异样。SerVICtCOnfig是为了包装一下request,reponse等对象,staticParams是为(可以配巴$。形式参数。UCIiOnMuPPingParUmS是slruls2.1新增的,我初步认为是可以在action配置中传参数,这个还有些疑问。<packagenamc-defaultextends="struts-default><interceplors><interceplor-stackn<me=,defaultSlack>><intercepto-refname="。XCePtiOn"><interceptor-refname_*servIetConfig*><interccptor-refname="actionMappingParams7><interceptoirefname-MstaticParams""/>Qnlerceplo1.refname="params"><inlerceptor-stack><interceptors><package>struts2注解2012-02-2414:44:30分类:javaweb开发备忘!字号订阅一、配置Beb.xml<filter><fi1ter-name>struts2<filter-name><iller-class>org.apache,struls2.disp<tcher.ng.filter.StrutsPrepareAndExecuteFilter<filter-class><init-param><param-name>actionf,ackages<param-name><par<11-va1ue>con.lest,action<par<nrvalue><init-param><filter><filter-mapping><filler-name>struls2<fiIlernane><url-pattern>*<url-pattern><fiIter-mapping>二、加入注解©Namespace(VaIUe="/test*)ction(value="ile-manuger",interceptoRefs=©InterceptorRef(value=*fiIe1.pload*,params=*maximunSize*,*1024000”,*alIowedTypes*,*imagepjpeg"),lnterceptoRef(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(rcquiredStrings=1ReqUiredSIringValidalor(CieldNaae="USername",message="用户名不微为空!”),RcquircdStringValidator(fieldName="te1Num",message="电话号码不能为空).regexFields=(SRegexFie1dVa1idator(fieldNa11c-"te1Num”,expression="(+860l)d10,ll)5message="电话号码格式不正确!)跳过验证注解:©SkipValidation三、ConventionAnnotationi)与Action相关的两个Annotation是®ACIion和®AClionS2)Action中可指定一个YaIUe属性。类似于指定actionname=""/属性值3) Action中还可以指定个Paran)S属性,核属性是一个字符串数组,用于该Aeion指定的参数名和参数值.params属性应遵守如下格式:("namel","VaIUe1","nume2'',"value2”4) ©Actions也用于修饰ACtion类里的方法,用于将该方法映射到多个UR1.Actions用于组织多个觥Ction.因此它可将个方法映射成多个逻辑Action.四、与Result配置相关的AnnotationI)QResultPath©Result和ReSUItS2)©Results用于组织多个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) ®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,系统将回到YieW书目下找寻物理视图资源。五、与包和命名空间相关的AnnotatiOn:蒯amespace:修饰ACtion类或其所在的色。该AnnotatiOn中指定一个VaIUe属性值,用手指定被修饰的ACtiCn所在的命名空间Namespaces:修饰Action类或其所在的包,用于组合多个到HmeSPUCeWParentPackage:用于指定被修饰的ACtiOn所在包的父包。六、与异样处理相关的AnnOtatiOneExceptionMappings用丁组织多个®EXCePIionMapping,因此它只需指定一个value屈性值,该value属性值为多个eExceplionMapping。EXCePtiOnNaPPing用于定义异样类和物理视图之间的对应关系,也相当于struts.xml文件里exception-mapping.元素的作用运用时,必需留意以下两个属性:exception:用于指定异样类result:用于指定逻辑视图eExceptionMpping有如下两种用法Action级的异样定义:以gExcepliOnMappings组合多个Exc。PtionMaPPing后修饰的AClion类。这种异样定义对ACtin中的全部方法有效方法级的异样定义:将多个旧ExceptionMapping组成数组后作为®Action的CxccptionMappingsM性值,这种异样定义仅对被修饰的方法有效。七、与拦械器配置相关的AnnOtation与拦截器配巴的Annotation有QInierceplorRef、1(HerceptorRefs和DefaultlnCerceptorRefInterceptorRefs用于组织多个WnterceptorRcf,因此它只须要指定个value属性值,该value属性值,为多个glntorceptorRefeinicrcw川R,用于为指定Aclign引用Ianjieq或者是拦截器栈。呼相当于strut,xml中位于action./元素内部的interceptor-ref./子元素的作用。运用&lnterccptorRefAnnotation时,必需制定,个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插件的首页。1)与Action相关的两个Annotation是Action和ACtionSACtiOn巾可指定一个ValUeM性“类忸于指定actionname="",M性值3) ACtIon中还可以指定个ParamS属性,该属性是个字符串数俎,用于该AdOn指定的昼数名和整数值.ParamS届件应遵守如卜格式:(name7valuer7name2","value2"4) Actions也用于修饰Aetion类里的方法,用于将该方法映射到多个UR1.ActionS用于组织多个Action.内此它可将个方法映射成多个逻辑Action-与Result配置相关的AnnOIalion1) ResultPathResult和Results2) Results用于组织多个ReWlt因此它只需指定一个value属性值,该value属性值为多个ReSUIt3) Re$ultHI't1Strutsxml文件中的result/元素的做哟欧诺个.运用整ReSInt必常指定个name属性,相当于VreSUltname=""/另外,它还有几个UJ选的属性。 type相当于VreSUlttyPe=""/指定返回视图资源的类型 I。CatIon相当于result,.resutt间部分,用F指定实际视图位置.ParamS:该属性相当于result元泰里多个param.子元索的作月|,用于为该ReSUlt指定参数值.该屈性应满意(*name7'valuel7name2TVaIlJe2")格式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我们运用ReSUItPath("abc")修饰该Aaion,系统将回到abc书目下找J物理视图资圾举例:在荻认状况下,Convention都会到WEB-IN"conent路径下需找物理视图资源,一旦我们均用ReSUItPathe7abc")修饰该Action.系统会到abc书目下找寻物理视图资源.与包和命名空间相关的AnnotationNameSPace:怪饰ACtiOn类或丈所在的包一该Annotation中指定一个valuett(ft.J-P指定被修饰的Action所在的命名空间NameSPaces:修饰ACtiOn类或JE所在的包.川:组合多个NameSPaCeParentPaCkage:小丁指定她修饰的Action所在包的夫包.异样处理相关的AnnotationEXCePttonMaPPingS用THI织多个EXCePtlOnMaPPing,因此它只需指定,个VakIe属性值,该ValUe属性值为多个EXCePtiOnMaPPing.EXCePtiOnMaPPing用于定义异样类和物理视图之间的对应关系,也和"1于StrUtS.xml文件里ecePHorVmaPPIn8“/元家的作用运用时,必常留意以下两个,M性:exception:用于指定异样类result:;j;!;:.-J"2'V'''EXCePtiOnMPPing行如下两柠用法Action徼的蚌样定义:以ExceptionMappings组合多个EXCePtiOnMaPPing后楼饰的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属性的作用“

    注意事项

    本文(struts2注解使用.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开