1. 程式人生 > 程式設計 >SpringBoot實現國際化過程詳解

SpringBoot實現國際化過程詳解

這篇文章主要介紹了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) {

  }
}

上面附帶連結

結果亂碼的解決方案;

效果圖:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。