[英]Struts2: UTF .properties
有沒有辦法在Struts2中加載UTF-8編碼的.properties文件?
我知道通過實現加載UTF8輸入流但是如何在Struts2中使用它的Control,可以在ResourceBundle中加載UTF-8文件? (我在這里找到了如何在JSF中做到這一點:
http://jdevelopment.nl/internationalization-jsf-utf8-encoded-properties-files/
但無法想象如何在struts2中做到這一點)
PD:我也知道我可以使用native2ascii工具,但它...丑......
編輯:
我已經看到我可以實現TextProviderSupport並將其設置為默認,如此處所示,並覆蓋其所有構造函數,使用UTF8 inputReader設置自定義createrd resourcebundle並放置一些日志。 我保存它並在啟動tomcat時說:
信息:為(com.opensymphony.xwork2.TextProvider)選擇bean(myTextProvider)
在struts.config中使用它:
<bean class="com.utils.i18n.UTF8TextProvider" name="myTextProvider"
type="com.opensymphony.xwork2.TextProvider" scope="default"/>
<constant name="struts.xworkTextProvider" value="myTextProvider" />
<constant name="system" value="myTextProvider" />
所以,它似乎沒問題。 但是我的類從未實例化(我只運行一個實現動作支持的示例動作,並用'getText'和一個帶有<s:text name="">
的jsp寫一個文本)
所以問題依舊......
Struts2使用ResourceBundle的概念來加載屬性文件並實現內化(i18n)和本地化(l10n)的目標。
資源包用於保存各種語言的鍵值和值對,例如英語資源包可以具有值,因為英語文本和法國資源包可以具有作為法國文本的值,但鍵是相同的。
資源包可以放在以下位置
正在按以上順序搜索資源屬性。 首先,它使用動作類name.properties查找資源屬性,如果找不到,則查找interface.properties,直到全局資源屬性為止。
有許多教程詳細解釋了如何在Struts 2中使用資源包。看看以下鏈接:
===============
更新
關於在Struts 2中加載UTF-8編碼的屬性文件,您可以參考http://javatechig.com/java/struts/struts2-localization-example ,看看在將日文文本編碼為UTF-8后如何使用它。 既然,你提到了native2ascii,我假設你知道如何將給定的文本轉換為UTF-8編碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.