国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

struts 國際化

2019-11-15 00:46:14
字體:
供稿:網(wǎng)友
struts 國際化

國際化

1. 國際化與本地化

國際化 (Internationalization: I18N): 是程序在不做任何修改的情況下,就可以再不同的國家或地區(qū)和不同的語言環(huán)境下,按照當?shù)氐恼Z言和格式習慣顯示字符。本地化(Localization : L10N ): 在開發(fā)國際化的程序時,創(chuàng)建某種語言相關(guān)的文本和格式資源的過程叫做本地化。

2. java中國際化的思路

將程序中的提示信息,錯誤信息等放在資源文件中,為不同的國家/語言編寫對應(yīng)的資源文件。資源文件由很多 key-value組成,key 保存不變,value 隨著國家/語言的不同而不同。這些資源文件屬于同一資源系統(tǒng),使用共同的基名(Base Name)。通過在基名后面添加ISO-639標準的語言代碼、ISO-3166標準的國家和地區(qū)代碼來進行區(qū)分。

例如: 規(guī)定基名為 abc , 可以定義 abc_zh_CN.PRoperties 大陸中文; abc_en_US.properties 美國,英文語言......

3. 使用struts實現(xiàn)國際化

  • 1) 在struts.xml中制定資源文件的基名及存儲路徑

<constant name="struts.custom.i18n.resources" value="message"></constant><constant name="struts.i18n.encoding" value="utf-8" ></constant>

  • 2)創(chuàng)建資源文件

根據(jù)需求創(chuàng)建對應(yīng)的資源文件,這里假設(shè)顯示中文和英文兩種語言。在src目錄下創(chuàng)建兩個資源文件,名稱為 message_zh_CN.properties、 message_en.properties

  • 3) 根據(jù)需求在資源中添加對應(yīng)的內(nèi)容

示例: message_en.properties:userName=userNameuserPwd=userPassWordsubmit=submit

message_zh_CN.properties:userName=/u7528/u6237/u540DuserPwd=/u5BC6/u7801submit=/u63D0/u4EA4

  • 4) jsp 頁面實現(xiàn)國際化顯示

<form action="login.action"><s:text name="userName"></s:text> : <s:textfield name="name" ></s:textfield> <br/><s:text name="userPwd"></s:text>: <s:password name="pwd" ></s:password> <br/><s:text name="submit"></s:text> : <input type="submit" /></form>

4. 測試:可以通過瀏覽器選擇 工具 -- Internet -- 常規(guī) -- 語言 單擊 “添加”按鈕,選擇美國選項,并通過“上移”按鈕將其移到語言框的最上面,單擊“確定”按鈕。

5. 驗證信息的國際化顯示:通過不同的資源文件顯示不同的錯誤信息

  • 1) 資源文件

message_en.properties:name.null = Name cannot be null......message_zh_HK.properties:name.null = 用戶名不能為空

  • 2) 通過strutes驗證框架

<message key="name.null" />

  • 3) 通過Action文件

this.addFieldError("user.name",getText("name.null"));

  • 6. 資源文件的范圍

在src 目錄下添加的資源文件對全局資源文件,所有包的所有Action都可以訪問。

struts2 提供了包范圍資源文件和Action范圍的資源文件。

1) 包資源文件: 在對應(yīng)保險出添加 package_languate_country.properties 資源文件。 package為固定寫法, 只有處在該包以及子包下的Action才可以訪問該文件。如 org.zm 包下定義資源文件 package_en.properties 、 package_zh_HK.properties ,則 org.zm以及其他子包中的Action可以訪問這些資源文件。

2) Action范圍的資源文件: 在Action類的所在 包內(nèi)添加資源文件,命名規(guī)則 ActionClassName_language_country.properties, 其中ActionClassName為Action的名稱

7. 資源文件的查找順序當前報下的Action > package 的資源文件 > ... > 頂級包 > 從常量 "struts.custom.i18n.resources" 指定的全局資源文件中查找


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 潼南县| 尼勒克县| 济阳县| 沧州市| 堆龙德庆县| 莱阳市| 交城县| 南昌市| 墨脱县| 德保县| 牙克石市| 马尔康县| 积石山| 图片| 湘潭县| 呈贡县| 重庆市| 高陵县| 徐水县| 永昌县| 夏津县| 凉城县| 诸城市| 贡嘎县| 四平市| 扶沟县| 横山县| 松江区| 新兴县| 阿克苏市| 封开县| 高安市| 城步| 巴楚县| 延安市| 漳州市| 泌阳县| 大名县| 岳西县| 临洮县| 开鲁县|