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!

版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/11/spring-boot-internationalization-message-source-usage/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
Spring Boot国际化MessageSource使用
资源文件配置 resources/i18n/Messages.properties welcome.url=www.appblog.cn welcome.msg=欢迎 {0} 光临! resources/i18n/Messages_zh.properties welcom……
<<上一篇
下一篇>>
文章目录
关闭
目 录