struts2中國際化的應用
軟體的國際化:軟體開發時,要使它能同時應對世界不同地區和國家的通路,并針對不同地區和國家的通路,提供相應的、符合來訪者閱讀習慣的頁面或資料。
國際化,簡稱i18n,簡單的說,讓代碼自動适應不同的使用的環境的語言.另外,對于開發來說,解耦合配置.
Struts2 中的國際化
使用前提
在 Struts2 中,所有的消息提示都是基于國際化的。其次,要想在 truts2中使用國際化,動作類必須繼承 ActionSupport 類。
配置資源包
a、配置全局資源包
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuM3UsxkZLh0Lc12bj5ic1dWbp5Savw1LcpDc0RHaiojIsJye.png)
b、配置包範圍的資源包
資源包名稱命名規範:
package_語言代碼_國家代碼.properties(固定的)。以此種命名方式的資源包能被該包及其子包中的動作類通路
c、局部消息資源包(隻為動作類來使用的)
資源包名稱命名規範:action名稱語言代碼國家代碼.properties。以此種命名方式的資源包,隻為動作類服務。
讀取資源包的内容
a、action中的讀取方式:getText(“key”)
b、在頁面中讀取資源包内容:,如果資源包中沒有對應的key值時,則把key的内容顯示在頁面上。
國際化的基本使用
getText:從國際化檔案的配置中,根據key去擷取值
國際化檔案擴充名必須叫peoperties,名字随意取,但有規則.
- 建立全局的國際化檔案:message.properties
- 配置國際化檔案内容:(鍵值對)
- 配置國際化檔案:
<!--國際化檔案,value的值,必須和國際化檔案的檔案名(不包含擴充名)一緻--> <constant name="struts.custom.i18n.resources" value="message" />
- 擷取國際化資訊:addActionError(super.getText(“UserAction.loginerror”));
國際化語言問題
根據檔案名的規則來選擇不同的語言。
完整的檔案名:
名字語言編碼國别編碼.properties
比如:
messagers_zh_CN.properties(完全比對)
messagers_zh.properties(部分比對)
messagers.properties(預設比對)
通過更改浏覽器的語言,來選擇不同的國際化檔案
國際化檔案的内容要求,必須是ascii碼,中文必須編碼。使用java指令:native2ascii
表單校驗提示資訊的國際化
校驗的檔案中配置:
國際化檔案中配置:
頁面資訊的國際化
- 可以用在代碼中,getText(key)
- 可以用在配置檔案中,
- 可以直接用在頁面中。使用
在國際化檔案中增加:
在頁面中讀取國際化資訊: