【发布时间】:2021-06-03 03:11:57
【问题描述】:
我正在尝试从 thymeleaf html 模板中的属性文件添加外部化消息。我有一个位于i18n/messages 的文件messages_es.properties,里面有这个:
estimado=Estimado:
在我的 html 模板中,我有以下内容
<div th:text="#{estimado}">Estimado placeholder</div>
然后,我得到的 html 如下:
<div>??estimado_es??</div>
有人可以帮助我吗?
这是我添加的配置以使其工作:
@Bean
@Qualifier("custom")
public ITemplateResolver thymeleafTemplateResolver(){
ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
templateResolver.setPrefix("templates/");
templateResolver.setSuffix(".html");
templateResolver.setTemplateMode("HTML");
templateResolver.setCharacterEncoding("UTF-8");
return templateResolver;
}
@Bean
public SpringTemplateEngine thymeleafTemplateEngine(@Qualifier("custom") ITemplateResolver templateResolver) {
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.setTemplateResolver(templateResolver);
templateEngine.setTemplateEngineMessageSource(messageSource());
return templateEngine;
}
@Bean
@Description("Spring Message Resolver")
public ResourceBundleMessageSource messageSource() {
ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
messageSource.setBasename("i18n/messages");
return messageSource;
}
在我的 application.yml 文件中:
spring.messages.basename: i18n/messages
【问题讨论】:
标签: spring-boot thymeleaf