框架04struts20國際化與驗證_第1頁
框架04struts20國際化與驗證_第2頁
框架04struts20國際化與驗證_第3頁
框架04struts20國際化與驗證_第4頁
框架04struts20國際化與驗證_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1第四章04Struts2.0國際化與驗證2回顧了解Struts2.0標(biāo)簽的分類(非UI標(biāo)簽)、(UI標(biāo)簽)非UI標(biāo)簽(if、elseif和else、iterator、i18n、property)UI標(biāo)簽(表單UI和非表單UI)3目標(biāo)Struts2.0國際化的方法(全局的資源文件、包范圍內(nèi)的資源文件、Action范圍的資源文件、<s:i18n>標(biāo)志訪問特定路徑的properties文件)Struts2.0校驗的方法(重寫validate()方法、重寫validateXxx()方法、編寫校驗規(guī)則文件、客戶端校驗)4全局的資源文件新建全局資源文件:globalMessages_en_US.properties、globalMessages_zh_CN.perties的配置struts.custom.i18n.resources=globalMessagesJsp頁面顯示:<s:textname="HelloWorld"/>、<s:propertyvalue="%{getText('HelloWorld')}"/>5包范圍內(nèi)的資源文件perties文件(與包同名)Action中調(diào)用資源方法(getText("key"))在同一個包下的Action都可以訪問6Action范圍的資源資源文件名:perties訪問資源文件方法:getText("key")只能在本類與其子類訪問7<s:i18n>標(biāo)志在<s:i18nname="xxxxx">到</s:i18n>之間,所有的國際化字符串都會在名為xxxxx資源文件查找,如果找不到,Struts2.0就會輸出默認值(國際化字符串的名字)??梢酝ㄟ^text標(biāo)簽

8國際化的切換Struts2運行時,當(dāng)一個客戶端訪問系統(tǒng),國際化的信息Locale保存在session中,它的名字為:WW_TRANS_I18N_LOCALE,如果要做國際化的切換,則只要改變session里的Locale即可(做一個過濾器與一個action)。9資源文件查找順序在沒有指定資源文件的情況下,資源文件的查找按如下的順序:1)ActionCperties2)BaseCperties3)Iperties4)ModelDriven’sModel5)perties6)searchupthei18nmessagekeyhierarchyitself7)globalresourceproperties10Struts2.0校驗重寫validate()方法重寫繼承ActionSupport里的方法:validateaddFieldError("ename","errormsg");<s:fielderror/>11重寫validateXxx()方法Xxx是action對應(yīng)的處理邏輯方法Validate()和validateXxx方法都會被調(diào)用,validateXxx先調(diào)用。12編寫校驗規(guī)則文件1,刪除validate()方法2,文件名:<action名字>-validation.xml而且文件保存在與action名字相同路徑3,<fieldname="name"><field-validatortype="requiredstring"><paramname="trim">true</param><message>必須輸入名字</message>4,國際化提示信息<messagekey="name.requried">13<validators>

<validatorname="required"class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>

<validatorname="requiredstring"class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>

<validatorname="int"class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>

<validatorname="double"class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>

<validatorname="date"class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>

<validatorname="expression"class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>

<validatorname="fieldexpression"class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>

<validatorname="email"class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>

<validatorname="url"class="com.opensymphony.xwork2.validator.validators.URLValidator"/>

<validatorname="visitor"class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>

<validatorname="conversion"class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>

<validatorname="stringlength"class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>

<validatorname="regex"class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>

</validators>

14客戶端校驗輸入頁面的表單元素用Struts2標(biāo)簽實現(xiàn)增加validate="true"國際化提示信息:<message>${getText("key")}</message>注意:theme屬性不要為simple15客戶端校驗支持的校驗器客戶端校驗僅僅支持如下幾種校驗器:requiredvalidatorrequiredstringvalidatorstringlengthvalidatorregexvalidatoremailvalidatorurlvalidatorintvalidatordoublevalidator16檢證處理邏輯<actionClassName>-<ActionAliasName>-validation.xml其中,ActionClassName是處理類名,ActionAliasName是struts.xml中的對應(yīng)name<fieldname="pass"><field-validatortype="fieldexpression"><paramname="expression"><![CDATA[pass=pass2]]></param><message>${getText("nameexp")}</message></field-validator></field>17檢證文件搜尋順序BaseAction-validation.xmlBaseAction-別名-validation.xmlAction-validation.xmlAction-別名-validation.xml順序固定,有沖突,后面文件取勝18visitor驗證1,在實體類同目錄中新建xml驗證文件,文件名:entity-entityContext-validation.xml2,在action同目錄中的驗證文件的引用方式:<fieldname=“enityProperty”><field-validatortype=“visitor”><paramname=“context”>entityContext</param><paramname=“appendPrefix”>true</param><message>出錯:</message></field-validator></field>3,如果實體類中的xml為:entity-validation.xml,則可以:<fieldname=“enityProperty”><field-validatortype=

溫馨提示

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

評論

0/150

提交評論