這周打算把國(guó)際化、JDBC和XML學(xué)習(xí)一下,從下周就開(kāi)始學(xué)習(xí)三大框架,再堅(jiān)持一個(gè)半月吧就能入門(mén)JavaWeb了,上周周末兩天過(guò)的真是生不如死,兩天坐在家里,醒來(lái)就寫(xiě)博客,原本在公司也自己操作了一遍,其實(shí)不用寫(xiě)也可以,不過(guò)想著為了加深印象,還是自己寫(xiě)出來(lái)這樣印象更深,基礎(chǔ)更扎實(shí),學(xué)習(xí)編程就和當(dāng)兵一樣,平時(shí)多流汗,戰(zhàn)時(shí)少流血,平時(shí)解決的bug多了,那以后遇到類(lèi)似的就會(huì)學(xué)會(huì)避免出錯(cuò)。還是接著上面的博客留下的坑來(lái)說(shuō)。上一博客jsp標(biāo)簽庫(kù)中留了幾個(gè)標(biāo)簽,其中就有今天要學(xué)的多語(yǔ)言國(guó)際化的。

一、資源國(guó)際化、資源本地化

I18N:Internationalization,資源國(guó)際化,I10N,Localization,資源本地化,個(gè)人的感覺(jué)兩者沒(méi)什么區(qū)別,可能是主體不一樣,國(guó)際化是對(duì)于開(kāi)發(fā)運(yùn)營(yíng)者來(lái)說(shuō),本地化對(duì)于用戶來(lái)說(shuō)。

二、資源文件編碼

資源文件屬性名為properties,保存的是key-value形式的屬性對(duì),必須為ASCII字符,由于中文、日文等是采用Unicode字符,所以要對(duì)其進(jìn)行轉(zhuǎn)碼。轉(zhuǎn)碼可以使用JDK自帶的native2ascii.exe工具,位于JDK安裝目錄的bin文件下,可以使用命令行native2ascii -[options] [inputfile] [outputfile],其中options包括-encoding encoding_name 或reverse.-encoding encoding_name是將文件按照encoding_name指定的格式轉(zhuǎn)化,reverse將編碼后的文件還原,encoding可省略,如果指定,一定要與原文件編碼方式一致,否則會(huì)出現(xiàn)亂碼。

移動(dòng)開(kāi)發(fā)培訓(xùn),Android培訓(xùn),安卓培訓(xùn),手機(jī)開(kāi)發(fā)培訓(xùn),手機(jī)維修培訓(xùn),手機(jī)軟件培訓(xùn)

先在E:\java文件夾下新建了一個(gè)messages.txt的文件,然后寫(xiě)入prompt.hello=您好!。打開(kāi)命令行輸入native2ascii命令,如上圖可能會(huì)報(bào)錯(cuò),如果報(bào)錯(cuò)可能是因?yàn)镴DK沒(méi)寫(xiě)入環(huán)境變量path中,也可以直接打開(kāi)jdk的bin文件夾,在其文件夾下使用native2ascii命令,然后會(huì)自動(dòng)輸出對(duì)應(yīng)的資源文件。這里我輸出的是與源文件文件名一樣的,也可以直接輸出messages_zh_CN.properties.

prompt.hello=\u60a8\u597d!

三、資源文件的使用

1.不帶參數(shù)的資源文件

在WebContent/WEB-INF下創(chuàng)建classes文件夾,然后在文件夾下創(chuàng)建resources文件夾,之后把編碼過(guò)的資源文件引入,由于我沒(méi)在轉(zhuǎn)碼時(shí)直接轉(zhuǎn)成帶有l(wèi)ocale的,所以改名為messages_zh_CN.properties.最后創(chuàng)建一個(gè)messages.properties資源文件用于做為默認(rèn)的資源文件,如果找不到就顯示這里面的。

移動(dòng)開(kāi)發(fā)培訓(xùn),Android培訓(xùn),安卓培訓(xùn),手機(jī)開(kāi)發(fā)培訓(xùn),手機(jī)維修培訓(xùn),手機(jī)軟件培訓(xùn)

在使用中就要用到上一博客的fmt標(biāo)簽庫(kù)的標(biāo)簽:<fmt:bundle/><fmt:message/><fmt:setBundle/>

<fmt:bundle basename="resources/messages" prefix="prompt.">
<fmt:message key="hello">
</fmt:message>
</fmt:bundle>

網(wǎng)友評(píng)論