【发布时间】:2016-10-17 21:10:37
【问题描述】:
目前我的faces-config.xml 中有一个部分,如下所示:
<locale-config>
<default-locale>en</default-locale>
<supported-locale>en_US</supported-locale>
<supported-locale>en_GB</supported-locale>
<supported-locale>de</supported-locale>
<supported-locale>de_DE</supported-locale>
</locale-config>
这是按预期工作的。
问题是,在我的战争中,我必须能够在不触及 faces-config.xml 的情况下定义这些语言环境。这个想法是有例如资源路径上的配置文件定义所有可用的语言环境。
我已经尝试了programatic approach,并在另一个模块的 META-INF 中使用了第二个 faces-config.xml,我可以访问并在资源路径上定义一个特定文件,该文件应根据此 @ 合并987654322@。每种情况下的第二个文件都以有效的 faces-config.xml 格式包含上述部分。两者都没有任何影响(既没有错误也没有任何行为变化)
有什么好的方法可以在不触及原始 faces-config 的情况下做到这一点?
我能够更改耳模块并在任何位置以编程方式访问资源。不幸的是,在 .war 中调整 faces-config.xml 是没有选择的。
【问题讨论】:
-
@Kukeltje:不幸的是,答案对我没有帮助。但这个问题实际上似乎非常相似。我已经用自己的逻辑解决了所有资源,我只希望将浏览器接受的语言的处理留给 myfaces 实现
-
问题是,我们想让用户在使用浏览器语言和他自己的设置之间做出选择。因此,我们必须以某种方式处理浏览器发送的语言环境。不幸的是,使用 Faces 执行此操作的唯一方法是定义 locale-config。否则我们必须自己从请求中提取它们