SpringBoot 国际化

1,新建i18n文件夹
SpringBoot 国际化_第1张图片
2.写properties文件
中文和英文各一个
文件命名格式要正确,会自动合并到一个文件夹中
SpringBoot 国际化_第2张图片

3.自定义一个组件MyLocalResolver implements LocaleResolver

public class MyLocalResolver implements LocaleResolver {
    @Override
    public Locale resolveLocale(HttpServletRequest httpServletRequest) {
        String l = httpServletRequest.getParameter("l");
        Locale  locale = Locale.getDefault();//如果没有使用就用默认的

        //如果请求携带了国际化参数
        if(!StringUtils.isEmpty(l)){
            //zh_CN
            String[] split = l.split("_");
            // 语言 国家
            locale = new Locale(split[0],split[1]);
    }
    return locale;

}

    @Override
    public void setLocale(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Locale locale) {

    }
}

4,将组件注册到Spring中

@Bean
    public  LocaleResolver localeResolver(){
        return new MyLocalResolver();
    }

5, 在前端请求参数中带入
SpringBoot 国际化_第3张图片
SpringBoot 国际化_第4张图片
SpringBoot 国际化_第5张图片

你可能感兴趣的:(spring,boot)