4ju*_*man 1 jsf localization character-encoding liferay
我使用的是Primefaces 3.5 + Lifaray 6.2.我需要在我的应用程序中进行内部化.我使用Language_en_US.properties文件和其他人的字符串资源.在backbean我使用ResourceBundle.getBundle它并且它的工作属性.
但鉴于我使用
<p:outputLabel value="#{i18n['server-address']}"/>
Run Code Online (Sandbox Code Playgroud)
在西里尔语中,我总是在页面上出现问号
?????? ??????
页面代码已经作为问号,因此它不是浏览器问题.
如果我直接使用ResourceBundle.getBundle
<p:outputLabel value="#{adminBean.getString('main')}"/>
Run Code Online (Sandbox Code Playgroud)
然后我得到了西里尔文.
有没有办法使用没有bean的i18n?
Liferay期望资源包以UTF-8编码(与PropertyResourceBundle使用ISO-8859-1的普通Java 不同).
检查您的Language_ru_RU.properties文件编码- 很可能不是UTF-8.这可以解释ResourceBundle.getBundle正常工作,而#{i18n['server-address']}不是.
虽然它与标准有所偏差,但UTF-8编码非常舒适,因为不需要进行字符转义.
请参阅Liferay文档中的本地化JSF Portlet.
| 归档时间: |
|
| 查看次数: |
850 次 |
| 最近记录: |