JSR 303验证消息覆盖@Id - 找不到包异常

时间:2012-07-22 12:53:22

标签: java jsf bean-validation

我正在尝试为bean验证消息创建自定义messages.properties文件。 我在资源包中添加了Messages.properties个文件,并将<application><message-bundle>resources.Messages</message-bundle></application>添加到了我的faces-config.xml文件中。

我正在验证具有主键字段且具有@Id注释(javax.persistence.Id)的实体。

当我覆盖像javax.faces.converter.BigDecimalConverter.DECIMAL这样的消息时,它会有效,但是当输入为空时我的问题是我收到异常消息:Can't find bundle for base name resources.Messages, locale en_US

我还有一条消息用于这种验证 - 在属性文件中是javax.faces.component.UIInput.REQUIRED(因此我并没有错过正确的消息文本)。

所以我尝试在faces-config.xml文件中添加locale config:<locale-config> <default-locale>en_US</default-locale></locale-config>,并在resorce包中添加了另一个名为:Messages_en_US.properties的属性文件, 但我仍然得到例外。

可能是什么问题?我错过了什么吗?怎么解决这个问题? 这个问题是由于@Id注释引起的吗?我能通过吗? 我希望能够看到我的自定义消息。 我尝试了所有我能想到的东西,但没有让它发挥作用,请帮助!!

感谢提前。

1 个答案:

答案 0 :(得分:-1)

只需将这些属性文件放在源文件夹中,就像它在WEB-INF资源文件夹中的结构一样,java类将从java资源文件夹中获取引用。

试试这个,我也面临同样的问题,它对我有用。