Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSF中bean验证的本地化_Java_Jsf 2_Localization_Richfaces_Bean Validation - Fatal编程技术网

Java JSF中bean验证的本地化

Java JSF中bean验证的本地化,java,jsf-2,localization,richfaces,bean-validation,Java,Jsf 2,Localization,Richfaces,Bean Validation,我使用JSF2.0和RichFaces4创建了一个基于MVC的网站。每个输入文本验证都是使用bean验证注释完成的。我使用Hibernate验证器作为bean验证实现 如何显示本地化邮件 如果我使用 @NotNull(message="<h:outputText value=\"#{msg['Mymessage']}\" />") @NotNull(message=”“) 然后它会以消息的形式显示 这是如何导致的,我如何解决它?您应该也不能在消息中放置JSF标记。而且,JSF自

我使用JSF2.0和RichFaces4创建了一个基于MVC的网站。每个输入文本验证都是使用bean验证注释完成的。我使用Hibernate验证器作为bean验证实现

如何显示本地化邮件

如果我使用

@NotNull(message="<h:outputText value=\"#{msg['Mymessage']}\" />")
@NotNull(message=”“)
然后它会以消息的形式显示


这是如何导致的,我如何解决它?

您应该也不能在消息中放置JSF标记。而且,JSF自己的资源包不会用于解析本地化的验证消息。JSR303bean验证是一个与JSF无关的完全独立的API

要国际化JSR303 bean验证消息,您需要在类路径根目录中创建一个单独的
ValidationMessages.properties
文件,该文件可以通过
ValidationMessages\u xx\u xx.properties
文件进行本地化

例如

ERVNomView=此处显示您的消息
然后用
{key}
语法指定

@NotEmpty(message=“{ERVNomView}”)
另见:

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


我不知道为什么,但是模式…xx_xx。。。不适用于我。

模式
xx_xx
适用于特定地区,例如,英式英语是
en_-UK
,而
en
仅代表一般英语。您应该始终使用常规变体,然后它就会工作。