【问题标题】:Spring MVC: No message found under code 'label.description' for locale 'en_us'Spring MVC:在语言环境“en_us”的代码“label.description”下找不到消息
【发布时间】:2016-01-12 02:01:36
【问题描述】:

我正在尝试在我的项目中实现国际化,但是我无法解析我的 BaseName,到目前为止,这是我的 AppConfiguration 类方法:

@Bean
public MessageSource messageSource() {
    ReloadableResourceBundleMessageSource messageSource = new           ReloadableResourceBundleMessageSource();`
    messageSource.setBasename("messages/");
    messageSource.setDefaultEncoding("UTF-8");
    return messageSource;
}

@Bean
public LocaleResolver localeResolver() {
    CookieLocaleResolver resolver = new CookieLocaleResolver();
    resolver.setDefaultLocale(new Locale("en_US"));
    resolver.setCookieName("myLocaleCookie");
    resolver.setCookieMaxAge(4800);
    return resolver;
}

@Override
public void addInterceptors(InterceptorRegistry registry) {
    LocaleChangeInterceptor interceptor = new LocaleChangeInterceptor();
    interceptor.setParamName("mylocale");
    registry.addInterceptor(interceptor);
}

这是我的项目结构: Project Structure

任何想法我做错了什么?我还尝试将我的 baseName 更改为 classpath:messages 但没有。谢谢。

【问题讨论】:

    标签: java spring spring-mvc internationalization


    【解决方案1】:

    试试这个:

    @Bean
    public MessageSource messageSource() {
        ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
        messageSource.setBasename("classpath:/messages/messages");
        messageSource.setDefaultEncoding("UTF-8");
        return messageSource;
    

    }

    并将您的 en_us.properties 重命名为 messages_en_us.properties

    【讨论】:

    • 还是一样的错误:javax.servlet.jsp.JspTagException: No message found under code 'label.description' for locale 'en_us'
    【解决方案2】:

    只需将此行添加到您的 application.properties

    spring.messages.basename=验证

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-16
      • 1970-01-01
      • 2021-01-19
      • 2013-02-10
      • 1970-01-01
      • 2012-06-11
      相关资源
      最近更新 更多