Spring Boot国际化MessageSource使用

资源文件配置

resources/i18n/Messages.properties

welcome.url=www.appblog.cn
welcome.msg=欢迎 {0} 光临!

resources/i18n/Messages_zh.properties

welcome.url=www.appblog.cn
welcome.msg=欢迎 {0} 光临!

resources/i18n/Messages_en.properties

welcome.url=www.appblog.cn
welcome.msg=Welcome {0}!

application.properties中配置资源文件路径

#资源文件的名称
spring.messages.basename=i18n/Messages,i18n/Pages

AbstractBaseController–资源文件messages读取

public abstract class AbstractBaseController {

    @Resource
    private MessageSource messageSource;

    public String getMessage(String key, String ...args) {
        return this.messageSource.getMessage(key, args, Locale.getDefault());
    }

    public String getMessage(String key, Locale locale, String ...args) {
        return this.messageSource.getMessage(key, args, locale);
    }

}

资源文件配置使用

@RestController
public class MessageController extends AbstractBaseController {

    @GetMapping("/echo")
    public String echo(String name) {
        System.out.println("[***访问地址***]: " + super.getMessage("welcome.url"));
        return super.getMessage("welcome.msg", name);
    }

    @GetMapping("/echo/{locale}")
    public String echo(@PathVariable("locale") String locale, String name) {
        System.out.println("[***访问地址***]: " + super.getMessage("welcome.url", new Locale(locale)));
        return super.getMessage("welcome.msg", new Locale(locale), name);
    }

}

测试

访问:http://127.0.0.1:8080/echo?name=Joe.Ye,返回:欢迎 Joe.Ye 光临!
访问:http://127.0.0.1:8080/echo/zh?name=Joe.Ye,返回:欢迎 Joe.Ye 光临!
访问:http://127.0.0.1:8080/echo/en?name=Joe.Ye,返回:Welcome Joe.Ye!

上一篇 Spring Cloud 获取注册中心所有服务以及服务下的所有实例
下一篇 Spring Boot中Aspect实现切面(以记录日志为例)
目录
文章列表
1 Python Selenium之WebDriver常用方法
Python Selenium之WebDriver常用方法
2
Android解决帧动画OOM的组件FrameAnimDrawable
Android解决帧动画OOM的组件FrameAnimDrawable
3
Android接入Google Analytics记录
Android接入Google Analytics记录
4
CSS3 grayscale滤镜图片变黑白
CSS3 grayscale滤镜图片变黑白
5
Flutter中设置TabBarView高度
Flutter中设置TabBarView高度
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。