天天看點

struts2中國際化的應用

struts2中國際化的應用

軟體的國際化:軟體開發時,要使它能同時應對世界不同地區和國家的通路,并針對不同地區和國家的通路,提供相應的、符合來訪者閱讀習慣的頁面或資料。

國際化,簡稱i18n,簡單的說,讓代碼自動适應不同的使用的環境的語言.另外,對于開發來說,解耦合配置.

Struts2 中的國際化

使用前提

在 Struts2 中,所有的消息提示都是基于國際化的。其次,要想在 truts2中使用國際化,動作類必須繼承 ActionSupport 類。

配置資源包

a、配置全局資源包

struts2中國際化的應用

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(預設比對)

struts2中國際化的應用

通過更改浏覽器的語言,來選擇不同的國際化檔案

國際化檔案的内容要求,必須是ascii碼,中文必須編碼。使用java指令:native2ascii

表單校驗提示資訊的國際化

校驗的檔案中配置:

struts2中國際化的應用

國際化檔案中配置:

struts2中國際化的應用

頁面資訊的國際化

  • 可以用在代碼中,getText(key)
  • 可以用在配置檔案中,
  • 可以直接用在頁面中。使用

在國際化檔案中增加:

struts2中國際化的應用

在頁面中讀取國際化資訊:

struts2中國際化的應用

繼續閱讀