2010-11-17 124 views
5

如何返回i18n本地化的bean验证消息?JSF2 i18n bean验证消息

例如,在:

@Size(min = 1, message = "{pleaseProvideADescription}") 
private String description; 

即使我设置属性文件faces-config.xml中,我包括pleaseProvideADescription =请提供...

我仍然得到:

{pleaseProvideADescription}

如在标记验证消息

谢谢

回答

5

Bean验证(JSR-303)与JSF2完全无关(JSR-314)。它是的另一个标准Java EE API的一部分。

验证消息必须位于类路径根目录中的一个名为ValidationMessages.properties的文件中(您可以使用ValidationMessages_xx_XX.properties文件进行国际化)。

将您的自定义消息放在那里。你不需要在JSF的faces-config.xml中配置任何东西。

+2

“Bean验证(JSR-303)与JSF2(JSR-314)完全无关,它是标准Java EE API的另一部分。”但在这种情况下将使用哪种语言环境 - 我假设服务器语言环境?这不会是我们需要的... – 2010-11-17 14:17:21

+0

我按照你的提示,并将消息添加到属性文件中。没有成功。 [你可以看到这里](http://stackoverflow.com/questions/12280800/how-does-it-work-with-bean-validation-messages-and-i18n-in-jsf2) – Kayser 2012-09-05 12:39:33