SpringBoot实现国际化

Posted 浅滩浅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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默认配置

 相关配置的application.properties:

 

 

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

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) {

    }
}

上面附带链接

 

 

 结果乱码的解决方案;

 

 

 效果图:

 

 

 

以上是关于SpringBoot实现国际化的主要内容,如果未能解决你的问题,请参考以下文章

一文教你实现 SpringBoot 中的自定义 Validator 和错误信息国际化配置

SpringBoot系列——i18n国际化

Spring Boot 国际化(messages.properties)

springboot实现国际化

springBoot 实现中文国际化

SpringBoot实现国际化