10

我使用 JSF 2.0 和 RichFaces 4 创建了一个基于 MVC 的网站。每个输入文本验证都是使用 bean 验证注释完成的。我使用 Hibernate Validator 作为 bean 验证实现。

如何显示本地化消息?

如果我使用

@NotNull(message="<h:outputText value=\"#{msg['Mymessage']}\" />")

然后它从字面上显示<h:outputText value="#{msg['Mymessage']}" />为消息。

在此处输入图像描述

这是如何引起的,我该如何解决?

4

2 回答 2

32

You should and can not put JSF tags in the message. Also, JSF's own resource bundle won't be used to resolve localized validation messages. JSR303 bean validation is a completely separate API unrelated to JSF.

To internationalize JSR303 bean validation messages, you need to create a separate ValidationMessages.properties file in the classpath root which can be localized by ValidationMessages_xx_XX.properties files.

E.g.

ERVNomView=Your message here

Which is then to be specified with {key} syntax.

@NotEmpty(message="{ERVNomView}")

See also:

于 2012-06-06T14:06:44.947 回答
1

对于那些和我有同样问题的人(@BalusC 给出的解决方案不适用于多种语言的许多不同属性文件),要做的事情是按以下模式命名所有属性文件:ValidationMessages_xx。特性

我不知道为什么,但模式 ...xx_XX... 对我不起作用。

于 2015-04-24T17:04:36.363 回答