为什么我的localeresolver打印localecode而不是内容?

时间:2017-10-30 19:06:35

标签: java localization

当我想显示属性文件中的国际化消息时,网页会显示??headline_en??。有谁知道是什么原因造成的?这是我的属性文件。

headline = Welcome to my Site
intro = this is my english intro

这些是我用于本地化的必需bean:

    @Bean //https://phraseapp.com/blog/posts/how-to-localize-spring-applications-like-a-pro/
public LocaleResolver localeResolver(){
    SessionLocaleResolver sessionLocaleResolver = new SessionLocaleResolver();
    sessionLocaleResolver.setDefaultLocale(Locale.US);
    return sessionLocaleResolver;
}

@Bean
public LocaleChangeInterceptor localeChangeInterceptor(){
    LocaleChangeInterceptor localeChangeInterceptor = new LocaleChangeInterceptor();
    localeChangeInterceptor.setParamName("lang");
    return localeChangeInterceptor;
}

@Bean
public MessageSource messageSource(){
    ReloadableResourceBundleMessageSource messageSource =
                new ReloadableResourceBundleMessageSource();
    messageSource.setBasename("language");
    messageSource.setCacheSeconds(10);
    return messageSource;
}

    @Override
public void addInterceptors(InterceptorRegistry registry){
    registry.addInterceptor(localeChangeInterceptor());
}

以某种方式责备reloadablemessagesource吗?

1 个答案:

答案 0 :(得分:0)

这解决了我的问题

        resourceBundleMessageSource.setBasename("classpath:language");