栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Springboot 国际化

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Springboot 国际化

主要是把多语言版本整合到了一起,通过属性配置文件动态化修改文字内容达到切换的目的

1.设置文件编码为UTF-8

统一编码格式

2.创建i18n文件夹

名称必须统一方便识别

编辑资源配置文件
login.properties

login.tip=登录
login.username=用户名
login.password=密码
login.remember=记住我
login.btn=登录

login_en_US.properties

login.tip=PleaseLogin
login.username=Username
login.password=Password
login.remember=remember
login.btn=Login

login_zh_CN.properties

login.tip=请登录
login.username=用户名
login.password=密码
login.remember=记住我
login.btn=登录
3.配置应用程序属性

在应用程序属性文件中添加并绑定名称
application.properties

# 配置静态资源路径
spring.mvc.static-path-pattern=/static/**

# 关闭模板引擎缓存
spring.thymeleaf.cache=false

# 国际化
spring.messages.basename=i18n.login
4.修改前端页面

主要看这两句跳转不要写错

  中文
  English

index.html




  
  
  
  [[#{login.btn}]]


Login

2001-2022

中文 English
5.解析请求并跳转页面

【进来一个字符串zh_CN,返回一个数组[zh,CN]】
前端点进来就是提交了一个请求,后端接收到这个请求后,对请求进行处理
继承LocaleResolver类,重写resolveLocale方法
如果没有获取到,就直接使用默认语言参数
如果language不为空,就将language这个字符串通过"_"进行拆分,并合并成数组
然后就跳转到这个数组,就改变了语言文字。
MyLocaleResolver.java

package com.weijun901.springbootweb.config;

import org.springframework.web.servlet.LocaleResolver;
import org.thymeleaf.util.StringUtils;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Locale;

public class MyLocaleResolver implements LocaleResolver {

  //解析请求
  @Override
  public Locale resolveLocale(HttpServletRequest httpServletRequest) {

    //获取请求中的语言参数
    String l = httpServletRequest.getParameter("l");
    //如果没有就使用默认的
    Locale locale = Locale.getDefault();
    if(!StringUtils.isEmpty(l)){
      //zh_CN
      String[] s = l.split("_");
      locale = new Locale(s[0], s[1]);
    }
    return locale;
  }

  @Override
  public void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale) {

  }
}

6.引入配置文件

如果有这样的请求就直接执行
MyMvcConfig.java

  @Bean
  public LocaleResolver localeResolver(){
    return new MyLocaleResolver();
  }
}
大功告成


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1035303.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号