日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

一口一口吃掉Struts(九)——國際化問題(1)

系統(tǒng) 1871 0

Web 應用實現(xiàn)國際化(i18n),主要包括兩個方面

一、頁面 jsp )靜態(tài)信息 國際化

二、動態(tài)消息的 國際化

在開始 Struts 國際化之前,我們先來看一下 java 如何實現(xiàn)國際化

主要步驟:

1、創(chuàng)建屬性文件(國際化資源文件)

* 國際化資源文件是有baseName+Locale構成,如MessagesBundle_en_US.properties

* 缺省的國際化資源文件是baseName.properties格式命名,如:MessagesBundle.properties

* 關于中文必須轉換成unicode,可以采用JAVA_HOME/bin/native2ascii工具轉換

命令 native2ascii.exe o.properties MessagesBundle_zh_CN.properties

也可以一個一個字符轉換

舉例:

屬性文件示例:

k1=China

k2=Hello,{0}

2、定義Locale對象

* 可以獲得系統(tǒng)默認 local ,也可以自定義

* 缺省的Locale是有操作系統(tǒng)決定的

* Locale是有語言和國家代碼構成

3、創(chuàng)建一個ResourceBundle對象

* ResourceBundle對象用于分離跟本地相關的數(shù)據(jù)

* 如果找不到相應語言或國家代碼的屬性文件,將使用默認的屬性文件(即沒有標識語言和國家代碼的屬性文件:MessagesBundle.properties)

4、從ResourceBundle對象中獲取數(shù)據(jù),如果有占位符,可以給占位符賦值

示例:

    public class test {
	public static void main(String[] args)
	{
		//獲取系統(tǒng)默認locle
		Locale localeDefault=Locale.getDefault();
		System.out.println("Country="+localeDefault.getCountry());
		System.out.println("Language="+localeDefault.getLanguage());
		System.out.println("------------------------");
		
		//我們通過指定一個語言代碼和國家代碼來創(chuàng)建一個Locale對象
	

		Locale localeNew=new Locale("en","US");
		System.out.println("Country="+localeNew.getCountry());
		System.out.println("Language="+localeNew.getLanguage());
		System.out.println("------------------------");
	
		//讀取國際化資源文件
		
		/**
		 * 	其創(chuàng)建方式如下:
		第一個參數(shù),表示要從哪些資源屬性文件中(MessagesBundle_XX_XX.properties)獲取數(shù)據(jù)
		第二個參數(shù),是一個Locale對象,表示要選擇哪個資源屬性文件
		ResourceBundle對象用于分離跟本地相關的數(shù)據(jù)
                     如果找不到相應語言或國家代碼的屬性文件,
                     將使用默認的屬性文件(即沒有標識語言和國家代碼的屬性文件:MessagesBundle.properties)
		 */
		ResourceBundle myResources =ResourceBundle.getBundle("com.jialin.resource.MessagesBundle", localeDefault);
		
	    //從ResourceBundle對象中獲取數(shù)據(jù)
		System.out.println(myResources.getString("k1"));
		System.out.println(myResources.getString("k2"));
		System.out.println("------------------------");
		
		//給國際化資源文件中的占位符賦值
		MessageFormat myFormat=new MessageFormat(myResources.getString("k2"));
		System.out.println(myFormat.format(new Object[]{"jialin"}));

	}
	
	
}
  

Struts國際化實現(xiàn)的核心原理,基本也是這個樣子,只是把相關的東西都寫到了配置文件中,更復雜也更靈活一些。

下篇繼續(xù)介紹Struts如何實現(xiàn)國際化。

一口一口吃掉Struts(九)——國際化問題(1)


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 台南市| 万山特区| 巨鹿县| 瑞丽市| 荥阳市| 中宁县| 临潭县| 浠水县| 闵行区| 宜丰县| 如皋市| 东辽县| 武山县| 隆德县| 确山县| 临夏县| 阜阳市| 高要市| 柏乡县| 全南县| 灵川县| 普兰店市| 泸西县| 巴青县| 沽源县| 松阳县| 洞口县| 旬邑县| 龙井市| 长丰县| 上饶县| 万盛区| 梁平县| 泰和县| 扬州市| 时尚| 武宣县| 海南省| 湘西| 通山县| 禄丰县|