java-springboot 2中的语言环境
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-springboot 2中的语言环境,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2136字,纯文字阅读大概需要4分钟。
内容图文
![java-springboot 2中的语言环境](/upload/InfoBanner/zyjiaocheng/669/28ddc67a32e547d4a0617711753fed2d.jpg)
我试图在Spring Boot 2应用程序中使用I18N
首先,我在资源/语言环境/消息中使用以下命令创建一个名为“ messages_pt_BR.properties”的文件:
Size.Ato.sercicos=Deve conter pelo menos 1 item
Size.atoRtdpj.servicos=Deve conter pelo menos 1 item
Size.servicos=msg1
Size=msg2
validacao_documento_obrigatorio=Documento: Pelo menos 1 precisa estar preenchido
然后我创建
@Configuration
public class LocaleConfiguration {
@Bean
public LocaleResolver localeResolver() {
SessionLocaleResolver localeResolver = new SessionLocaleResolver();
Locale.setDefault(new Locale("pt","BR")); // without this line when I try to get the locale the system return en_BR
localeResolver.setDefaultLocale(new Locale("pt","BR"));
return localeResolver;
}
@Bean
public ReloadableResourceBundleMessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:locale/messages");
messageSource.setCacheSeconds(3600); //refresh cache once per hour
return messageSource;
}
}
然后我创建
@Component
public class Messages {
@Autowired
private MessageSource messageSource;
public String getMessage(String id) {
Locale locale = LocaleContextHolder.getLocale();
return messageSource.getMessage(id,null,locale);
}
}
所以在我的控制器中,我使用:
@Autowired
Messages messages;
//in my method:
messages.getMessage("validacao_documento_obrigatorio")
当我尝试测试此错误时,返回此错误:
org.springframework.context.NoSuchMessageException: No message found under code 'validacao_documento_obrigatorio' for locale 'pt_BR'.
而且jpa约束不会更改.
解决方法:
如果要从classpath:locale / messages加载,请将messages_pt_BR.properties移到语言环境下,因为这会在locale文件夹下搜索messages_pt_BR属性,因此如果要在/ locale / messages下,则需要传递完整的文件名路径,如下所示它将在/ locale / messages文件夹下加载messages_pt_BR文件:
@Bean
public ReloadableResourceBundleMessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:locale/messages/messages");
messageSource.setCacheSeconds(3600); //refresh cache once per hour
return messageSource;
}
内容总结
以上是互联网集市为您收集整理的java-springboot 2中的语言环境全部内容,希望文章能够帮你解决java-springboot 2中的语言环境所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。