自定义ResourceBundleMessageSource以检索诸如语言环境之类的属性

时间:2018-06-27 20:07:27

标签: java spring resourcebundle

我有一个用例,我想根据运动来检索消息(我仅以运动为例)。我有每种运动的属性文件(在此示例中为足球和网球两种)。

以下是足球和网球的属性文件:

messages_football.properties

message1=Football message1
message2=Football message2

messages_tennis.properties

message1=Tennis message1
message2=Tennis message2

Bean定义:

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

我将从这些属性文件(如下所示)中引用我的应用程序中的键

访问Java代码中的密钥:

messageSource.getMessage(message1, null, locale);

假设我的上下文是足球,那么当我执行messageSource.getMessage(message1,null,locale)时,输出应该是“ Football message1”,如果我的上下文是网球,则类似,我希望输出为“ Tennis message1”。 / p>

这类似于MessageSource中语言环境的工作方式。

在Spring / Java中有什么方法可以实现?

0 个答案:

没有答案
相关问题