2010-11-17 165 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