为了账号安全,请及时绑定邮箱和手机立即绑定

springboot 2 中的语言环境

springboot 2 中的语言环境

摇曳的蔷薇 2021-10-28 14:50:47
我试图在我的 spring-boot 2 应用程序中使用 I18N首先,我在我的资源/语言环境/消息中创建一个名为“messages_pt_BR.properties”的文件:Size.Ato.sercicos=Deve conter pelo menos 1 itemSize.atoRtdpj.servicos=Deve conter pelo menos 1 itemSize.servicos=msg1Size=msg2validacao_documento_obrigatorio=Documento: Pelo menos 1 precisa estar preenchido然后我创建@Configurationpublic 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;    }}然后我创建@Componentpublic class Messages {    @Autowired    private MessageSource messageSource;    public String getMessage(String id) {        Locale locale = LocaleContextHolder.getLocale();        return messageSource.getMessage(id,null,locale);    }}所以在我的控制器中我使用:@AutowiredMessages 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 约束不会更改为。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 198 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信