版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 河北省秦皇島市撫寧區(qū)2025-2026學(xué)年八年級(jí)上學(xué)期1月期末考試道德與法治試卷(含答案)
- 2025-2026學(xué)年廣東省佛山市禪城區(qū)九年級(jí)(上)期末數(shù)學(xué)試卷(含部分答案)
- 2026年航天航空專業(yè)知識(shí)預(yù)測(cè)試題集及答案
- 黃岡2025年湖北黃州中學(xué)招聘教師筆試歷年參考題庫(kù)附帶答案詳解
- 邯鄲2025年河北邯鄲磁縣事業(yè)單位招聘230人筆試歷年參考題庫(kù)附帶答案詳解
- 蘇州江蘇蘇州市公安局蘇州高新區(qū)分局招聘警務(wù)輔助人員300人筆試歷年參考題庫(kù)附帶答案詳解
- 山東2025年山東省疾病預(yù)防控制中心初級(jí)崗位招聘17人筆試歷年參考題庫(kù)附帶答案詳解
- 大理云南大理彌渡縣交通運(yùn)輸局招聘公益性崗位人員筆試歷年參考題庫(kù)附帶答案詳解
- 2026年企業(yè)戰(zhàn)略管理企業(yè)經(jīng)營(yíng)管理者進(jìn)階測(cè)試題
- 2026年大學(xué)講師教學(xué)團(tuán)隊(duì)效率評(píng)估測(cè)試題
- 四川省遂寧市2026屆高三上學(xué)期一診考試英語(yǔ)試卷(含答案無(wú)聽力音頻有聽力原文)
- 福建省寧德市2025-2026學(xué)年高三上學(xué)期期末考試語(yǔ)文試題(含答案)
- 建筑施工行業(yè)2026年春節(jié)節(jié)前全員安全教育培訓(xùn)
- 2026屆高考語(yǔ)文復(fù)習(xí):小說人物形象復(fù)習(xí)
- 2026及未來5年中國(guó)防病毒網(wǎng)關(guān)行業(yè)市場(chǎng)全景調(diào)查及發(fā)展前景研判報(bào)告
- 2026年山東省煙草專賣局(公司)高校畢業(yè)生招聘流程筆試備考試題及答案解析
- 八年級(jí)下冊(cè)《昆蟲記》核心閱讀思考題(附答案解析)
- 2025年中職藝術(shù)設(shè)計(jì)(設(shè)計(jì)理論)試題及答案
- 2026屆高考?xì)v史二輪突破復(fù)習(xí):高考中外歷史綱要(上下兩冊(cè))必考常考知識(shí)點(diǎn)
- 鐵路交通法律法規(guī)課件
- 2025年體育行業(yè)專家聘用合同范本
評(píng)論
0/150
提交評(píng)論