在我正在研究的JSF应用程序中,我们广泛使用消息包和语言环境。几乎所有标签都在一组 *。properties 文件中定义,每种语言都有一个文件,等等。每当用户在浏览器上更改其语言首选项并刷新页面时,这都很有用,那些标签会相应改变。
唯一不会更改的标签是“本机”JSF验证消息。这些消息始终使用服务器启动期间在JVM中定义的语言(我们使用JBoss 7.1和eap 6.3)。因此,例如,如果在启动脚本中定义了以下内容: -Duser.language = en ,验证消息将始终为英语。
示例:验证错误:需要值。
但是,如果我们将属性更改为 -Duser.language = pt ,则验证消息将以葡萄牙语显示。
示例: Errodevalidação:Valoréadversário。
所有其他标签都没有这种行为,因此它们会根据浏览器的语言偏好进行更改。
我们没有在任何地方指定自定义验证消息。
在faces-config.xml中,我们有以下内容:
<locale-config>
<default-locale>pt</default-locale>
<supported-locale>pt</supported-locale>
<supported-locale>en</supported-locale>
</locale-config>
答案 0 :(得分:0)
如果我明白你的要求是正确的,那听起来就像你想要的那样 消息包。
消息包的工作方式类似于资源包,但它们适用于警告和错误。
我相信以下答案会对您有所帮助:https://msdn.microsoft.com/en-us/library/mt622450.aspx