Struts2學習筆記(十六):配置國際化全域資源檔、輸出國際化資訊
來源:互聯網
上載者:User
準備資源檔,資源檔的命名格式如下:baseName_language_country.propertiesbaseName_language.propertiesbaseName.properties其中baseName是資源檔的基本名,我們可以自訂,但language和country必須是java支援的語言和國家。如:中國大陸: baseName_zh_CN.properties美國: baseName_en_US.properties 現在為應用添加兩個資源檔:第一個存放中文:jim_zh_CN.properties內容為:welcome=歡迎學習Struts第二個存放英語(美國): jim_en_US.properties內容為: welcome=welcome to Struts 對於中文的屬性檔案,我們編寫好後,應該使用jdk提供的native2ascii命令把檔案轉換為unicode編碼的檔案。命令的使用方式如下:native2ascii 源檔案.properties 目標檔案.properties 當準備好資源檔之後,我們可以在struts.xml中通過struts.custom.i18n.resources常量把資源檔定義為全域資源檔,如下:<constant name="struts.custom.i18n.resources" value="jim" />jim為資源檔的基本名。
後面我們就可以在頁面或在
action
中訪問國際化資訊:
l在JSP頁面中使用<s:text name=“”/>標籤輸出國際化資訊:<s:text name=“user”/>,name為資源檔中的keyl在Action類中,可以繼承ActionSupport,使用getText()方法得到國際化資訊,該方法的第一個參數用於指定資源檔中的key。l在表單標籤中,通過key屬性指定資源檔中的key,如:<s:textfield name="realname" key="user"/> 輸出帶預留位置的國際化資訊資源檔中的內容如下:welcome= {0},歡迎{1} 在jsp頁面中輸出帶預留位置的國際化資訊<s:text name="welcome"> <s:param><s:property value="realname"/></s:param><s:param>學習</s:param></s:text> 在Action類中擷取帶預留位置的國際化資訊,可以使用getText(String key, String[] args)或getText(String aTextName, List args)方法。