java國際資源化檔案配置j2se+j2ee

不設限發表於2011-12-20
j2se專案配置:


1.新建資源化檔案命名格式:
xxx_zh_CN.properties,xxx_en_US.properties

2.程式中獲取:
public String getMessage(String msgName) {
//第一個引數指定的是資源化檔案的字首,第二個引數指定的地區
ResourceBundle res = ResourceBundle.getBundle("xxx", Locale.CHINA);
return res.getString(msgName);
}

j2ee專案的配置:


1.當使用的是預設的資源化檔案:與訪問的Action同名的資源化檔案時

這種情況就是,當你訪問了一個Action後,後臺把你在Action中指定的jsp檔案返回到了前臺,這個時候前臺的jsp檔案中如果是使用了資源化檔案的話,那麼它首先是去查詢與剛才訪問的Action同一個包下面是不是有一個跟使用了跟Action名字一樣的名字作為基名的資源化檔案,比如你的Action名字叫做com.test.Test.java,那麼當你訪問了這個Action並且這個Action返回了一個jsp頁面給前臺,而這個jsp頁面裡面是使用資源化檔案,比如<s:text name="welcome.msg"/>,那麼程式首先去com.test檔案下去查詢是不是有名稱叫做Test_zh_CN.properties的檔案,如果有,那麼就會繼續去裡面查詢是不是有鍵為:"welcome.msg"的訊息,如果有就取出來,如果沒有那麼就去專案的資源化檔案裡面尋找,這個資源化檔案是在下面配置的.

2.當使用的是配置的資源化檔案時:

(1)編寫名稱格式為:xxx_zh_CN.properties檔案
(2)在strust.xml檔案中進行配置如下資訊

<constant name="struts.custom.i18n.resources" value="xxx"/>

3.資源化檔案的引數指定
在jsp檔案中使用,期中param指定的是welcome.msg訊息中的引數,引數在資源化檔案中以{index}形式存在,比如username在資源化檔案中存在的位置就是對應的第一個,比如  welcome.msg訊息對應的值為:  歡迎你:{0},使用者{1}, 那麼username在訊息所對應的資原始檔中存在的index就是0,而user在訊息所對應的資源化檔案中的索引就是1

<s:text name="welcome.msg">
<s:param value="username"></s:param>
<s:param value="user"></s:param>

</s:text>  

注意:實際上j2ee專案裡面通常情況下兩種資源化檔案都是需要配置的,因為如果別人只是訪問了jsp頁面的話,那麼程式是不會去直接尋找Action所在的包裡面的資源化檔案的,因為只是訪問jsp頁面的話,也許不需要經過Action的處理而直接的訪問,這個時候資源化的檔案就需要從全域性的資源化檔案裡面去查詢訊息所對應的資訊了.

國際化的配置需要注意的地方:


1.在struts檔案中進行配置:
如果國際化的資原始檔為login_zh_CN.properties那麼配置的時候value為login
<constant name="struts.custom.i18n.resources" value="login"></constant>
2.在配置的時候要注意把資原始檔放到src目錄下面
3.在配置中文的配置檔案時一定要在視覺化介面中去配置,否則就無法編譯為正確的
可供程式使用的編碼.


相關文章