軟件的國際化:軟件開發時,讓它能支持多個國家和地區的本地化應用。使得應用軟件能夠適應多個地區的語言和文化風俗習慣。
開發一個國際化資源文件的步驟:
1:編寫屬性文件:
屬性文件的命名格式可分爲以下兩種:
a)文件名前綴.properties b)文件名前綴_語言種類.properties(如中文(zh_CN)、英文(en_US)
2:在struts.xml中使用struts.custom.i18n.resources常量即可加載全局資源文件
<constant name="struts.custom.i18n.resources"
value="cn.itcast.i18n.resource" />
resource爲資源文件的基本名。
3:在jsp頁面獲取國際化的資源文件的信息
方法一:使用text標籤: 用來顯示一條國際化消息的數據標籤. 相當於從property
標籤調用 getText 方法. 該標籤包含如下屬性:
* name: 用來檢索消息的鍵
* var:用來引用壓入 ContextMap 棧的值的變量名
* 可以通過 param 子標籤向 text 標籤傳遞參數 <s:text name="item.username"/>
方法二:使用ognl表達式
可以使用 property 標籤或是使用某個表單標籤的 label 屬性, 來顯示一條調用 getText()
方法而得到的本地消息:
<s:textfield name="username" label="%{getText('item.username')}" />
<s:property value="%{getText('item.username')}" />
全局資源文件中含有佔位符,如在資源文件中:
歡迎{0},來到{1},學習
在jsp頁面中如何設置佔位符的值:
<s:text name="test">
<s:param>張三丰</s:param>
<s:param>傳智播客</s:param>
</s:text>
不在struts.xml中配置國際化,而是在jsp中直接訪問某個資源文件:
eg: <s:i18n name=“cn.itcast.i18n.resource">
<s:text name=“item.test">
<s:param>小張</s:param>
</s:text>
</s:i18n>
上面訪問cn.itcast.i18n包下基本名爲resource的資源文件。