使用UTF-8资源本地化JSF 1.2应用程序

时间:2010-05-04 09:29:18

标签: java jsf

(警告:这是我的第一个java应用程序,来自.NET,所以如果我写了太多垃圾,请不要抨击我)

我正在开发一个简单的JSF 1.2 Web应用程序,它应该支持ISO 8859-1之外的俄语,中文和其他语言,这些语言会在Properties.load()中自动使用。

有没有办法在JSF中使用从Properties.loadFromXml()加载的XML文件加载的属性,而无需编写太多代码?

我知道有其他方法可以这样做(编写我自己的加载器,逃避角色......),但我真的很想找到一个简单的解决方案,我不会在所有的论坛中看到它检查。

提前感谢您提供任何帮助

1 个答案:

答案 0 :(得分:3)

我认为最广泛使用的方法是使用unicode转义序列对.properties文件进行编码。这可以通过Eclipse的AnyEdit插件轻松完成。

问题是ResourceBundle使用的是Properties(inputStream)构造函数,而不是Properties(reader)

您可以使用自己的LoadBundle组件代替f:loadBundle来克服此问题,但您必须:

  • 扩展原始
  • 将其定义为自定义组件(facelets和/或jsp)
  • 定义新的ResourceBundle实施
  • 使用new InputStreamReader(classloader.getResourceAsStream(..))
  • 实例化它