springboot之创建国际化页面

在springboot创建一个国际化页面

步骤:

1 创建一个i18n文件
2 在项目中定义一个切换的组件,自定义一个LocaleResolver类
3 将类交给springboot托管
4 修改前端代码

实现(thymeleaf模板)

  1. 在 resources 下创建文件夹和对应页面的properties
    i18n的图
    直接创建 login.properties login,zh_CN.properties ,login_en_US.properties就可以了。

    然后写配置(这部分太累了),看图
    在这里插入图片描述
    点开properties文件,箭头方向的Bundle可以实现可以实现可视化操作。
    框的是按钮对应的名字。右边第一个是默认显示的【中文/英文】,下面的很明显,不说了。

  2. 自定义一个自定义一个LocaleResolver类

    这个类需要实现LocaleResolver接口。

public class MyLocaleResolver implements LocaleResolver {

    @Override
    public Locale resolveLocale(HttpServletRequest request) {
    	//接收前端的参数,后面有说
        String language = request.getParameter("l");
        //获取默认
        Locale locale = Locale.getDefault();
        //没有指定语言就使用默认的
        if (!StringUtils.isEmpty(language)){
            String[] split = language.split("_");
            locale = new Locale(split[0],split[1]);
        }
        return locale;
    }
}
前端的代码。
    <a class="btn btn-sm" th:href="@{/index(l='zh_CN')}">中文</a>
    <a class="btn btn-sm" th:href="@{/index(l='en_US')}">English</a>
  1. 将类交给springboot托管
    在实现WebMvcConfigurer接口的配置类中写一个方法,返回MyLocaleResolver 类,加上注解即可。
    @Bean
    public LocaleResolver localeResolver(){
        return new MyLocaleResolver();
    }

  1. 修改前端代码
    如图中的框,修改对应的值即可
    在这里插入图片描述

启动项目测试。
默认的
在这里插入图片描述
中文的
在这里插入图片描述
英文的
在这里插入图片描述

搞定!!!

猜你喜欢

转载自blog.csdn.net/Bernie_7/article/details/107477118