jsf轉(zhuǎn)換器、驗證器_第1頁
jsf轉(zhuǎn)換器、驗證器_第2頁
jsf轉(zhuǎn)換器、驗證器_第3頁
jsf轉(zhuǎn)換器、驗證器_第4頁
jsf轉(zhuǎn)換器、驗證器_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

JSF轉(zhuǎn)換器與驗證器信息工程學(xué)院軟件系轉(zhuǎn)換器(Converter)協(xié)助模型與視圖之間的數(shù)據(jù)轉(zhuǎn)換。完成HTTP字符串Java對象JSF內(nèi)建(標(biāo)準(zhǔn))轉(zhuǎn)換器JSF提供一組標(biāo)準(zhǔn)的Converter用來轉(zhuǎn)換組件數(shù)據(jù),可以完成基本數(shù)據(jù)類型的自動轉(zhuǎn)換,不需要顯示的調(diào)用。轉(zhuǎn)換器的使用將組件值綁定到與轉(zhuǎn)換器類型相同的托管(輔助)Bean上,JSF自動進(jìn)行轉(zhuǎn)換;通過組件的converter屬性指明轉(zhuǎn)換器在組件標(biāo)簽中嵌入一個轉(zhuǎn)換標(biāo)簽<f:converter>使用轉(zhuǎn)換器標(biāo)簽的converterId屬性引用轉(zhuǎn)換器。日期轉(zhuǎn)換器—DateTimeConverter轉(zhuǎn)換對象必須是Date。屬性:dateStyle:日期格式;在pattern未指定且type為date時有效值:default、short、medium、long和full。pattern:自定義格式;指定后,type、dateStyle、timeStyle將被忽略。timeStyle:時間格式;同dateStyle。type:值:date、time、both;指定結(jié)果中包含的內(nèi)容。日期轉(zhuǎn)換器<h:outputTextvalue="#{user.dateTime}">

<f:convertDateTimepattern="yyyy年MM月dd日"/></h:outputText><h:inputTextvalue="#{convert.birthday}">

<f:convertDateTimepattern="yyyy-mm-dd"/></h:inputText>數(shù)值轉(zhuǎn)換—convertNumber字符串和數(shù)值之間轉(zhuǎn)換。屬性:currencyCode:貨幣代碼;currencySymbol:貨幣符號;groupingUsed:是否包含分組符,true|false;integerOnly:只顯示整數(shù)部分,true|false;pattern:自定義格式;type:顯示風(fēng)格,有效值:number|currency|percentage數(shù)值轉(zhuǎn)換<h:outputTextvalue="89.443"> <f:convertNumberpattern="0,000.0000"/></h:outputText>錯誤信息顯示<h:messagefor="ID"style="?"/>for:組件ID;style:信息顯示的樣式<h:form><h:inputTextid="dateField"value="#{user.date}"><f:convertDateTimepattern="dd/MM/yyyy"/></h:inputText><h:messagefor="dateField"style="color:red"/><br><h:commandButtonvalue="送出"action="show"/></h:form>指定轉(zhuǎn)換錯誤信息<h:tagconvertMessage="?"/><h:form><h:inputTextid="dateField"value="#{user.date}"

convertMessage="請按dd/mm/yyyy格式輸入"

><f:convertDateTimepattern="dd/MM/yyyy"/></h:inputText><h:messagefor="dateField"style="color:red"/><br><h:commandButtonvalue="送出"action="show"/></h:form>自定義轉(zhuǎn)換器實現(xiàn)javax.faces.convert.Converter接口的publicObjectgetAsObject(FacesContextcontext,UIComponentcomponent,Stringstr);publicStringgetAsString(FacesContextcontext,UIComponentcomponent,Objectobj);兩個方法。轉(zhuǎn)換失敗時拋出:ConverterException異常注冊轉(zhuǎn)換器在faces-config.xml中注冊:<converter><converter-id>ID</converter-id><converter-class>

轉(zhuǎn)換器完全類名</converter-class></converter>自定義轉(zhuǎn)換器制作一個人名的轉(zhuǎn)換器!publicclassConvertimplementsConverter{

publicObjectgetAsObject(FacesContextarg0,

UIComponentarg1,Stringarg2){ UserNameusrName=newUserName(); try{ String[]name=arg2.split(","); usrName.setFirstName(name[0]); usrName.setLastName(name[1]); } catch(Exceptione){ thrownewConverterException(); } returnusrName; }自定義轉(zhuǎn)換器制作一個人名的轉(zhuǎn)換器!

publicStringgetAsString(FacesContextarg0,

UIComponentarg1,Objectarg2){ if(arg2==null){ returnnull; } UserNameuName=(UserName)arg2; returnuName.getFirstName()+","+uName.getLastName();

}

}驗證器內(nèi)置驗證器<f:validateDoubleRange>

驗證一個浮點(diǎn)型數(shù)據(jù)必須在指定范圍內(nèi);<f:validateLongRange>

驗證一個長整型數(shù)據(jù)必須在指定范圍內(nèi);<f:validateLength>

驗證對象值的長度必須在指定范圍內(nèi);驗證器內(nèi)置驗證器屬性maximum:指定最大長度或最大值minimum:指定最小長度或最小值驗證器錯誤信息屬性validatorMessage驗證器必填驗證器<h:inputTagrequired="true"/>requiredMessage:錯誤信息自定義驗證器實現(xiàn)javax.faces.validator.Validator接口,并實現(xiàn)

validate(FacesContextcontext,UIComponentcomponent,Objectobj)方法。驗證失敗時拋出:ValidatorException異常自定義驗證器注冊驗證器<validator> <validator-id>ID</validator-id> <validator-class>CLASS</validator-class> </validator>自定義驗證器驗證口令長度不能少于6個字符,并由字母和數(shù)值組成。publicclassPasswdVadimplementsValidator{publicvoidvalidate(FacesContextcontext,UIComponentcomponent,Objectobj){Stringpassword=(String)obj;

if(password.length()<6){FacesMessagemessage=newFacesMessage(FacesMessage.SEVERITY_ERROR,"長度小于6","口令長度不能小于6");thrownewValidatorException(message);}自定義驗證器驗證口令長度不能少于6個字符,并由字母和數(shù)值組成。if(!password.matches(".+[0-9]+")){FacesMessagemess

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論