如何从消息包中获取值?

时间:2016-04-10 20:59:09

标签: spring thymeleaf resourcebundle

在我的应用程序配置类中,我有以下条目:

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

    @Bean
    public LocaleResolver localeResolver(){
        SessionLocaleResolver resolver = new SessionLocaleResolver();
        resolver.setDefaultLocale(new Locale("pt_BR"));
        return resolver;
    } 

message_pt_BR.properties根据附图找到。

enter image description here

我尝试使用<span th:text="#{app.name}"></span>文件访问此条目,我得到的是:

??app.name_pt_br??

我在这里缺少什么?

2 个答案:

答案 0 :(得分:2)

您的邮件包名称应为

messages_pt_BR.properties

它区分大小写。

没有默认消息包(messages.properties)就可以了。只有_en和_zh_TW,我的工作正常。

如果你给出设置basename的正确路径,你可以把你的资源包放在任何地方。

答案 1 :(得分:1)

您需要将messages捆绑包替换为/resources文件夹 您还需要添加messages.properties捆绑包,这是必需的。