我在JSR303和特殊的Hibernate-Validator中遇到了问题。
我想从属性文件中读取验证消息。此属性文件位于部署到servlet容器的war文件中。问题是,它没有被访问。我有以下项目结构。
如何访问ValidationMessages.properties?或者这不可能吗?
除此之外,如果Hibernate-Validator首先在战争中读取属性文件并且如果它找不到密钥,那么它将是完美的,然后从jar中读取属性文件,等等。
答案 0 :(得分:5)
不可能有多个ValidationMessages.properties
文件。但您可以使用Hibernate Validators AggregateResourceBundleLocator从包含不同名称的bundle中检索消息,如下所示:
ValidatorFactory validatorFactory = configuration
.messageInterpolator(
new ResourceBundleMessageInterpolator(
new AggregateResourceBundleLocator(
Arrays.asList("foo", "bar"),
configuration.getDefaultResourceBundleLocator())))
.buildDefaultValidatorFactory();