教程1 8學(xué)習(xí)筆記struts2 1 8_第1頁(yè)
教程1 8學(xué)習(xí)筆記struts2 1 8_第2頁(yè)
教程1 8學(xué)習(xí)筆記struts2 1 8_第3頁(yè)
教程1 8學(xué)習(xí)筆記struts2 1 8_第4頁(yè)
教程1 8學(xué)習(xí)筆記struts2 1 8_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

配置方法執(zhí)行完畢后要轉(zhuǎn)向的頁(yè)面,類似jarStruts.xmlStruts.xml中actionStruts.xml中actionresult((oWorld在Struts.xml中指定actionStruts2要點(diǎn)筆記(一 二、Struts2對(duì)象圖導(dǎo)航語(yǔ)言(ObjectGraphNavigation附:2.1.8版本的配置 的 名空間(<packagename="default"extends="struts-default">)去查例如:可以利用各種默認(rèn)項(xiàng)的搭配,完成action轉(zhuǎn)發(fā) <action 到 a).<action<result<action<result username=,“UTF- <action oworld" <action<result<result <action oworld" <action<result <action <resultname=”souce” <param 文件的編碼--<package<result <actionname=”list” <param 名、getter、setter方法 可以配置Struts2只處理以.do為后綴的請(qǐng)求路徑:<?xmlversion="1.0"encoding="UTF-8"<!DOCTYPEstruts"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN" value之間以”,”分開如 Struts2要點(diǎn)筆記(二該屬性指定加載Struts2配置文件的配置文件管理器。該屬性的默認(rèn)值是口的類,該類可以自己加載Struts2配置文件。值,應(yīng)該將該屬性值設(shè)置為GBK或者GB2312。個(gè)屬性值,它的默認(rèn)值是true。通常不建議修改該屬性值。cos、pelljakarta等屬性值,即分別對(duì)應(yīng)使用cos的文件上傳框架、pell上傳及common-fileupload文件上傳框架。該屬性的默認(rèn)值為jakarta。注意如果需要使用cos或者pell的文件上傳方式,則應(yīng)該將對(duì)應(yīng)的JAR文件 到Web應(yīng)用中。例如,使用cos上傳方式,則需要自己 cos框架的JAR文件,并將該文件放在WEB-INF/lib路徑下。Struts2應(yīng)用加載用戶自定義的屬性文件,該自定義屬性文件指定的屬性不會(huì)覆指定將HTTP請(qǐng)求映射到指定Action的映射器,Struts2提供了默認(rèn)的映射器:請(qǐng)求的前綴與Action的name屬性完成映射。性的默認(rèn)屬性值是true。 響應(yīng),則可設(shè)置該屬性為false,生產(chǎn)環(huán)境下可以緩存。 方法調(diào)用,則可設(shè)置該屬性為false。 發(fā)者希望允許在Action名中使用斜線,則可設(shè)置該屬性為true。Struts2中使用表達(dá)式語(yǔ)法,因?yàn)橥ǔ6夹枰谥惺褂帽磉_(dá)式語(yǔ)法,故此屬性應(yīng)該設(shè)置為true,該屬性的默認(rèn)值是true。在開發(fā)階段將該屬性設(shè)置為true會(huì)更有利于開發(fā),但在產(chǎn)品發(fā)布階段應(yīng)將該屬性設(shè)置為true,將可以在每次請(qǐng)求時(shí)都重新加載資源文件,從而false,是為了提供響應(yīng) 所需要模板文件的位置,該屬性的默認(rèn)值是tem te路徑下的模板文件。 Marker、Velocity和JSP模板。該屬性指定Web應(yīng)用所在的 成URL時(shí)(例如Url ),該屬性才提供Web應(yīng)用的默認(rèn)端口。 性值,分別對(duì)應(yīng)于不包含、僅包含GET類型請(qǐng)求參數(shù)和包含全部請(qǐng)求參數(shù)。該屬性指定Struts2應(yīng)用所需要的 Orion和OC4J服務(wù)器,通常應(yīng)該設(shè)置該屬性為true。struts.該屬性指定Struts2使用的 Marker管理器。該屬性的默認(rèn)值是 Marker管理器。 為true;當(dāng)應(yīng)用處于產(chǎn)品使用階段時(shí),該屬性通常被設(shè)置為false。個(gè)配置文件的文件名之間以英文逗號(hào)(,)隔開。該屬性的默認(rèn)值為struts-Struts2框架默認(rèn)加載struts.xml文件了。Struts2要點(diǎn)筆記(三截器或用戶自定義器)→Action(用戶編寫的Action,類似Struts1中的Action)→Result(類似Struts1中的forward)→Jsp/Html→response<url-pattern>/*</url-pattern>Filter時(shí)請(qǐng)求將被轉(zhuǎn)入Struts2框架處理,否則Struts2框架將過濾該請(qǐng)求的處理。當(dāng)請(qǐng)求轉(zhuǎn)入對(duì)用戶每一次請(qǐng)求都會(huì)創(chuàng)建一個(gè)Action,所以Struts2Action是線程安全的 <?xmlversion="1.0"encoding="UTF-8"<!DOCTYPEstruts"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"""> publicclass privateStringmessage;publicStringgetMessage(){return}publicStringexecute()throw this.message=“execute方法”return“success”;}publicStringother(throwException{this.message=“other方法”;}} <package <action WorldAction<result十六、Struts2請(qǐng)求參數(shù)的接受publicProductAction{privateIntegerid;publicvoidsetId(Integer{this.id=}publicIntegergetId{returnid;}publicclassProductAction{privateProductproduct;publicvoidsetProduct(Productproduct){duct=product;}publicProductgetProduct(){returnproduct;}}Struts2首先通過反射技術(shù)調(diào)用Product的默認(rèn)構(gòu)造器創(chuàng)建product對(duì)象然后在通過反射技術(shù)調(diào)用product中與請(qǐng)求參數(shù)同名的屬性的setter方法來獲取請(qǐng)求參數(shù)packagecn. importjava.text.ParseException;importjava.util.Date;importimportpublicclassDateTypeConverterextendsDefaultTypeConverter{ClasstoType){tryString[]params=(String[])//returnDatedate=(Date)return}}catch(ParseExceptione)}} 在Action類所有的包下放置ActionClassNperties文件, importimportimportjavax.servlet.http.HttpServletRequest;importcom.opensymphony.xwork2.ActionContext;publicclass oWorldAction{publicStringActionContextctx=ctx.put("req","request范圍");//requestreqctx.put("names",Arrays.asList(","","老方"));return}publicStringrsa() ServletContextservletContext=request.setAttribute("req","請(qǐng)求范圍屬性");servletContext.setAttribute("app","應(yīng)用范圍屬性");//HttpServletResponseresponse=return}}Struts2要點(diǎn)筆記(四<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01<title>MyJSP'employeeAdd.jsp'starting<formaction="${pageContext.req action"enctype="multipart/form-data"method="post">文件:<inputtype="file"packagecn. importjava.io.File;importimportcom.opensymphony.xwork2.ActionContext;publicclass oWorldAction{privateFile[]image;publicFile[]getImage(){return}publicvoidsetImage(File[]image){this.image=image;}publicString[]getImageFileName(){returnimageFileName;}publicvoidsetImageFileName(String[]imageFileName){this.imageFileName=imageFileName;}publicStringaddUI(){return"success";}publicStringexecute()throw Stringrealpath=Filesavedir=newFile(realpath);for(inti=0;i<image.length;i++){Filesavefile=newFile(savedir,}}return}} 器對(duì)該action都會(huì)失效 package importcom.opensymphony.xwork2.ActionContext;importerceptor.Interceptor;publicclassPermissionInterceptorimplementsInterceptor{publicvoiddestroy()}publicvoidinit()}publicStringintercept(ActionInvocationinvocation)throw{Objectuser=ActionContext.getContext().getSession().get("user");if(user!=null)returninvocation.invoke();如果user不為null,代表用戶已經(jīng)登錄,允許執(zhí)行actionreturn"success";}}Struts2要點(diǎn)筆記(五在Struts2中, 對(duì)于輸入校驗(yàn)struts2提供了兩種實(shí)現(xiàn)方法:重寫validate方法,validateaction中所有與execute方法簽名相同的方法。當(dāng)某個(gè)數(shù)據(jù)校驗(yàn)失敗時(shí),應(yīng)該調(diào)用addFieldErrorfieldErrors添加校驗(yàn)失敗信息(addFieldError方的resultinput視圖中可以通過<s:fielderror/>x顯示失敗信息。packagecn. importcom.opensymphony.xwork2.ActionContext;importcom.opensymphony.xwork2.ActionSupport;publicclass privateStringusername;private publicStringgetUsername(){returnusername;}publicvoidsetUsername(Stringusername){this.username=username;}publicStringget (){ }publicvoidset ){ }publicStringreturn"message";}publicStringreturn"message";}publicvoidvalidate()會(huì)對(duì)actionthis.addFieldError("username"用戶名不能為空");} ==null||"".equals(this. ","號(hào)不能為空");this.addFieldError("","號(hào)格式不正確");}}}} " <result<%@tagliburi="/struts-tags"<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01<formaction="${pageContext.req 號(hào):<inputtype="text"name=" 面是9個(gè)數(shù)字<br/>注:通過validateXXX方法實(shí)現(xiàn)對(duì)指定方法的校驗(yàn),validateXXX 只會(huì)校驗(yàn)action中方法名為XXX的方法。其中xxx的第一個(gè)字母要大寫。2.基于XML配置文件方式實(shí)現(xiàn) "<package "namespace="/test"<s:form<%@tagliburi="/struts-tags"<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01<title>token<int

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論