springBoot页面国际化

springBoot国际化就是指页面可以按照中英文切换显示。实现步骤大致分为三步:1,配置国际化文件2.写国际化类添加组键中3.页面展示。大致原理就是LocaleResolver根据获取请求头中的信息,进行判断。

第一步:编写properties格式例如login_zg_CN(国际化页面+语言代码+国家代码)和login_en_US同时要写一个默认的login.propertiesrg格式如图:

再编写具体内容:如图先点击Resource Bundle 再点击+号进行属性的添加,只需要添加一个,另外两个就会加上。

再在application.properties里配置 name后边写的是resources下的文件夹名和里面的文件名

注意:如果我们的配置文件可以直接放在类路径下叫messages.properties;那么不用再为我们的配置文件再在application.properties里配置

二、写国际化类:首先写一个类实现LocaleResolver,例如:

现在前台页面定义l如图:

public class MyLocaleResolver implements LocaleResolver {

    public Locale resolveLocale(HttpServletRequest request) {
        String l= request.getParameter("l");//获取login前台页面传过来参数(l自定义的)
        Locale locale =Locale.getDefault();//初始化是默认的
        if (!StringUtils.isEmpty(l)){//判断是否为null
          String[]spilt=  l.split("_");由于格式是en_us的格式,所以以_分割。
            locale=new Locale(spilt[0],spilt[1]);//截取之后把新的属性封装给local
        }
        return locale;
    }

再在配置类中进行配置:

@Configuration//配置类首先必有的
public class MyMvcConfig implements WebMvcConfigurer {//要实现webMvcConfigurer
    @Bean //向容器中添加组件
    public LocaleResolver localeResolver(){
        return new MyLocaleResolver(); //返回值类型是之前国际化类的那个类
    }

三、springBoot前台页面默认使用的是thymeleaf,因此我也用的是thymeleaf如图:

thymeleaf的大致语法:th:text="#{login.tip}" #是解析国际化配置文件的属性的在 半闭合标签情况下用[[]]里面写#{}解析。

大致效果就可以实现点击切换。如图:

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值