Java 无法在Spring引导中解析模型级别属性文件中的消息
我已经浏览了URL:并且在我的案例中找不到任何有用的东西 我的模型类中有以下字段,但未替换针对Java 无法在Spring引导中解析模型级别属性文件中的消息,java,spring-boot,properties-file,Java,Spring Boot,Properties File,我已经浏览了URL:并且在我的案例中找不到任何有用的东西 我的模型类中有以下字段,但未替换针对长度.validation.status的消息 我正在使用SpringBootv2.1.5。发布版project和 @SafeHtml(whitelistType = WhiteListType.NONE, message = "{html.validation.status}") @Length(max = ResourceSize.MAX_STATUS, message = "{length.val
长度.validation.status的消息
我正在使用SpringBootv2.1.5。发布版
project和
@SafeHtml(whitelistType = WhiteListType.NONE, message = "{html.validation.status}")
@Length(max = ResourceSize.MAX_STATUS, message = "{length.validation.status}")
private String status;
代码:
消息.属性
html.validation.intervention=Intervention
html.validation.status=Status
编辑-1:
我设置了以下选项,但仍然不起作用
spring:
application:
name: Program Catalog
# Mongo DB details
data:
mongodb:
database: XX
host: localhost
port: 27017
profiles:
active:
- dev
messages:
basename: messages
fallback-to-system-locale: false
配置属性源和消息源不同,因此不需要使用@PropertySource
或@ConfigurationProperties
通过Spring引导,您可以使用Spring.messages.*
properties配置自动配置的消息源。您可以使用spring.messages.basename
设置消息属性文件的名称(和位置)。默认情况下:messages.properties
在类路径中。看
但是,@SafeHtml
是一个hibernate验证器
注释,它并没有解析来自Spring的消息。默认情况下,这些消息来自类路径根目录中的资源束ValidationMessages.properties
。看
尝试创建包含以下内容的文件src/main/resources/ValidationMessages.properties
html.validation.status=Unsafe HTML
应该可以了。我通过添加以下代码解决了这个问题。然而,我们不能在持久化实体时使用相同的代码,以防您想要给出索引名
@Bean
public MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:messages");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
@Bean
public LocalValidatorFactoryBean getValidator() {
LocalValidatorFactoryBean bean = new LocalValidatorFactoryBean();
bean.setValidationMessageSource(messageSource());
return bean;
}
它仍然不起作用,请您指导一下好吗?谢谢,spring.messages.basename这个逻辑在我的情况下也不起作用。。非常奇怪。你能分享一下示例吗?因为两个解决方案/建议都不起作用。yetOK,我不知道为什么不起作用。您可以查看本文和相应的示例代码:
@Bean
public MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:messages");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
@Bean
public LocalValidatorFactoryBean getValidator() {
LocalValidatorFactoryBean bean = new LocalValidatorFactoryBean();
bean.setValidationMessageSource(messageSource());
return bean;
}