在我正在开发的JSF应用程序中,我们广泛使用消息包和语言环境。几乎所有的标签都是在一组* .properties文件中定义的,每种语言都有一个文件,等等。这很好,每当用户在浏览器上更改语言首选项并刷新页面时,这些标签都会相应地改变。从浏览器发送的接受语言不会更改JSF验证消息语言环境
唯一不会更改的标签是'native'JSF验证消息。这些消息总是使用服务器启动期间在JVM中定义的语言(我们使用JBoss 7.1和eap 6.3)。因此,例如,如果在启动脚本中定义了这一点:-Duser.language = en验证消息将始终为英文。
示例:验证错误:需要设置值。
但是,如果我们将属性更改为-Duser.language = pt验证邮件将以葡萄牙语提供。
示例:错误:价格:。
所有其他标签都没有这种行为,所以它们根据浏览器的语言偏好进行更改。
我们没有在任何地方指定自定义验证消息。
faces-config.xml中,我们有以下几点:
<locale-config>
<default-locale>pt</default-locale>
<supported-locale>pt</supported-locale>
<supported-locale>en</supported-locale>
</locale-config>
哪个JSF impl/version?你是否在管理''? –
BalusC
@BalusC Mojarra - jsf-impl-1.2_15-b01-redhat-8。我没有在任何地方使用该标签。干杯! –