這周打算把國(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多了,那以后遇到類似的就會(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)亂碼。
先在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)的資源文件,如果找不到就顯示這里面的。
在使用中就要用到上一博客的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>
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26