当前位置 : 主页 > 编程语言 > java >

SpringBoot实现国际化过程详解

来源:互联网 收集:自由互联 发布时间:2021-05-10
这篇文章主要介绍了SpringBoot实现国际化过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 实现方法:thymeleaf模板引擎

这篇文章主要介绍了SpringBoot实现国际化过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

实现方法:thymeleaf模板引擎加上BootStrap

准备工作:

1.将准备好的Bootstrap模板放在templates下让SpringBoot进行自动配置

SpringBoot自动配置会自动到(idea的shif键连按两下进入全局搜索)

2.Bootstrp的引入(这里是maven以depency的方式引入)

<!--引入bootstrap-->
    <dependency>
      <groupId>org.webjars</groupId>
      <artifactId>bootstrap</artifactId>
      <version>4.0.0</version>
    </dependency>

3.thymeleaf的引入

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>

4.编写国际化配置文件

使用ResourceBundleMessageSource管理国际化资源文件

springBoot默认配置

自己配置的国际化的代码:

package com.zyb.webdemo.component;

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 request) {
    String l = request.getParameter("l");
    Locale locale = Locale.getDefault();
    if(!StringUtils.isEmpty(l)){
      String[] split = l.split("_");
      locale = new Locale(split[0],split[1]);
    }
    return locale;
  }

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

  }
}

上面附带链接

结果乱码的解决方案;

效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

网友评论