版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
企業(yè)級JAVAII
軟件工程系:聶常紅
cred_n@163.com內(nèi)容回顧Struts2使用什么框架上傳文件Struts2文件上傳語法如何設(shè)置上傳文件的大小及類型?國際化資源文件有什么作用?如何定義國際化資源文件?如何輸出國際化消息?如何設(shè)置及替換帶占位符的國際化消息?第7講Struts2的類型轉(zhuǎn)換和輸入校驗7.1Struts2的類型轉(zhuǎn)換7.2輸入校驗概述7.3使用編程方式進行校驗7.4使用Struts2校驗框架校驗7.1類型轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換的必要Struts2內(nèi)置類型轉(zhuǎn)換器
Struts2內(nèi)建了字符串和boolean、char、int、short、float、double等基本數(shù)據(jù)類型以及它們的包裝類和Date、數(shù)組(元素為字符串)、集合(元素為字符串)等類型之間的類型轉(zhuǎn)換器自定義類型轉(zhuǎn)換器基于OGNL的類型轉(zhuǎn)換
借助于OGNL表達式的支持,Struts2允許以另一種簡單方式將請求參數(shù)轉(zhuǎn)換成復合類型基于OGNL的類型轉(zhuǎn)換示例login.jsp:welcome.jsp:OGNL表達式類型轉(zhuǎn)換中的錯誤處理Struts2在執(zhí)行類型轉(zhuǎn)換出現(xiàn)錯誤時,將由conversionError攔截器負責將對應(yīng)錯誤封裝成字段級別錯誤(FieldError),并將它們放入到ActionContext中conversionError攔截器處理類型轉(zhuǎn)換異常后,系統(tǒng)會跳轉(zhuǎn)到名為input的邏輯視圖默認的字段級別錯誤顯示:Invalidfieldvalueforfield“XXX”.(XXX為字段名)7.2輸入校驗概述輸入校驗是指在數(shù)據(jù)提交給程序之前,對輸入數(shù)據(jù)的合法性進行檢查,只允許合法的數(shù)據(jù)進入應(yīng)用程序。輸入校驗類型:客戶端校驗:通過在HTML頁面中的JavaScript來校驗,方式:自定義腳本或使用Struts2框架自帶的客戶端校驗機制(設(shè)置form的validate屬性為true即可)服務(wù)端校驗:通過后臺加入檢驗代碼實現(xiàn)7.3使用編程方式進行校驗在action類可以通過編程方式實現(xiàn)輸入校驗,根據(jù)校驗代碼的位置,又可分為以下兩種:使用業(yè)務(wù)邏輯處理方法校驗使用validate或validateXxx方法校驗“Xxx”對應(yīng)某個業(yè)務(wù)邏輯處理方法名;存在validateXxx方法時,會首先執(zhí)行validateXxx方法,然后再執(zhí)行validate方法;如果該動作的父類同樣定義了這些方法,則首先執(zhí)行父類validateXxx方法,然后父類validate方法,然后按上面所述順序執(zhí)行子類的驗證方法使用業(yè)務(wù)邏輯處理方法校驗:該方法是將校驗代碼放到動作類的業(yè)務(wù)邏輯處理方法如execute()中,如下所示:缺點:1)校驗代碼和業(yè)務(wù)邏輯代碼混合,程序的可讀性差,增加維護難度2)必須顯式指明出錯時的結(jié)果使用validate或validateXxx方法校驗將校驗代碼放到validate()中,即重寫ActionSupport類的validate(),或放到自定義的validateXxx(),如下所示:優(yōu)點:1)校驗代碼和業(yè)務(wù)邏輯代碼分開,程序的可讀性和維護性都較好2)校驗出錯,自動跳轉(zhuǎn)到input結(jié)果缺點:當校驗代碼比較多時,會使得validate()程序很臃腫,對管理和維護增加難度7.4使用Struts2校驗框架校驗該方式是指將校驗代碼從action代碼中剝離出來,以聲明的方式放到XML配置文件中,從而簡化了action代碼。使用校驗框架校驗語法:必須定義一個與動作類同名、保存在同一目錄下的且后綴為-validation.xml的XML校驗配置文件,如動作類名為ValidateAction,則該XML文件名為ValidateAction-validation.xml必須在XML校驗配置文件中對每個校驗字段配置校驗器對所有的業(yè)務(wù)方法有效。針對于某個業(yè)務(wù)方法的校驗XML命名方法為:動作類名-動作名-validation.xml,此時搜索順序是:動作類名-validation.xml、動作類名-動作名-validation.xml常用的struts2校驗器:required:
不允許非字符串數(shù)據(jù)空值requiredstring:
必須是字符串且不能為空stringlength:
字符串長度檢驗器,可以定義字符串的范圍,常用參數(shù):minLength、maxLengthint:
必須是整數(shù),可以定義整數(shù)的范圍,常用參數(shù):min、maxdate:
必須是日期,可以定義日期范圍,常用參數(shù):min、maxdouble:
必須是雙精度數(shù),可以定義小數(shù)的范圍,常用參數(shù):min、maxfieldexpression:對指定的OGNL表達式求值email:
必須符合郵件書寫格式url:
必須符合網(wǎng)址書寫格式regex:
格式檢驗器,必須符合指定的書寫格式Struts2校驗器的配置方式有兩種:字段型校驗器的配置方式,書寫格式:非字段型校驗器的配置方式:書寫格式<fieldname=“待校驗字段名稱”><field-validatortype=“校驗器名稱”><paramname=“參數(shù)名”>參數(shù)值</param><message>校驗失敗的提示信息</message><!--<messagekey=“key”/>--></field-validator></field><validatortype=“校驗器名稱”><paramname=“fieldName”>待校驗字段名稱</param><paramname=“參數(shù)名”>參數(shù)值</param><message>校驗失敗的提示信息</message></validator>字段型校驗器配置說明:validators:根標簽,用于包含所有需檢驗的字段標簽field:字段標簽,使用name屬性來指定需校驗的字段field-validator:字段校驗器標簽,通過type屬性指定校驗器來定義校驗機制param:用于定義校驗字段的參數(shù),包含在field-validator標簽中(可選)message:定義校驗失敗時的提示信息(自定義或來自于資源文件),包含在field-validator標簽中,且放在param標簽后面使用字段校驗器校驗輸入數(shù)據(jù)示例:步驟:創(chuàng)建Struts2項目創(chuàng)建動作類RegisterAction創(chuàng)建RegisterAction-validation.xml文件,定義每個表單域的檢驗機制編寫資源文件RegisterAperties,在其中添加一些數(shù)據(jù)類型轉(zhuǎn)換出錯提示信息和校驗出錯提示信息創(chuàng)建兩個JSP頁面,分別用于信息輸入和信息顯示,保存目錄為WebRoot設(shè)置配置文件,在其中定義動作包和動作創(chuàng)建動作類:創(chuàng)建RegisterAction-validation.xml:(接前)(接前)編寫RegisterAperties創(chuàng)建輸入信息的validateInput.jsp:創(chuàng)建顯示信息的validateOutput.jsp:設(shè)置配置文件:執(zhí)行結(jié)果:○Struts2輸入校驗的步驟請求參數(shù)執(zhí)行類型轉(zhuǎn)換校驗框架校驗數(shù)據(jù)有效性類型轉(zhuǎn)換是否出錯?執(zhí)行validateXxxx()執(zhí)行validate()是否包含F(xiàn)ieldError?將錯誤提示信息保存Ac
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025智能化系統(tǒng)工程合同
- 江淮合作合同范例
- 2025駕駛員聘用管理合同范本
- 政府采購員合同范例
- 石材欄桿護欄合同范例
- 2025農(nóng)產(chǎn)品運輸合同(綜合農(nóng)產(chǎn)品類)
- 海報印刷服務(wù)合同范例
- 市政合同范例制作
- 合同以外合同范例
- 出售個人土地合同范例
- 第二章 田徑-短跑途中跑技術(shù) 教案 2023-2024學年人教版初中體育與健康七年級全一冊
- 空運陸運操作崗位招聘面試題及回答建議(某大型國企)2024年
- 《元旦新氣象夢想再起航》主題班會
- 2024-2030年中國集中供熱行業(yè)供需平衡與投資運行模式規(guī)劃研究報告
- TCSRME 034-2023 隧道巖溶堵水注漿技術(shù)規(guī)程
- 藝坊尋美-藝術(shù)實踐體驗坊智慧樹知到答案2024年黑龍江幼兒師范高等專科學校
- 桂枝顆粒營銷策略與品牌定位
- 墻布訂購合同協(xié)議書
- 爭做“四有好老師”-當好“四個引路人”
- 支持企業(yè)建設(shè)中試平臺實施方案
- 腦血管造影課件
評論
0/150
提交評論