黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

一口一口吃掉Struts(九)——國(guó)際化問(wèn)題(1)

系統(tǒng) 2003 0

Web 應(yīng)用實(shí)現(xiàn)國(guó)際化(i18n),主要包括兩個(gè)方面

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

二、動(dòng)態(tài)消息的 國(guó)際化

在開(kāi)始 Struts 國(guó)際化之前,我們先來(lái)看一下 java 如何實(shí)現(xiàn)國(guó)際化

主要步驟:

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

* 國(guó)際化資源文件是有baseName+Locale構(gòu)成,如MessagesBundle_en_US.properties

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

* 關(guān)于中文必須轉(zhuǎn)換成unicode,可以采用JAVA_HOME/bin/native2ascii工具轉(zhuǎn)換

命令 native2ascii.exe o.properties MessagesBundle_zh_CN.properties

也可以一個(gè)一個(gè)字符轉(zhuǎn)換

舉例:

屬性文件示例:

k1=China

k2=Hello,{0}

2、定義Locale對(duì)象

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

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

* Locale是有語(yǔ)言和國(guó)家代碼構(gòu)成

3、創(chuàng)建一個(gè)ResourceBundle對(duì)象

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

* 如果找不到相應(yīng)語(yǔ)言或國(guó)家代碼的屬性文件,將使用默認(rèn)的屬性文件(即沒(méi)有標(biāo)識(shí)語(yǔ)言和國(guó)家代碼的屬性文件:MessagesBundle.properties)

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

示例:

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

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

	}
	
	
}
  

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

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

一口一口吃掉Struts(九)——國(guó)際化問(wèn)題(1)


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論