此文建立于已经搭建好springboot基本项目
1、在resources文件夹下新建名为i18n的文件夹,然后在i18n文件夹下新建一个login_zh_CN.properties文件与login_en_US.properties文件,建了这两个文件后,springboot会自动将这两个文件放在同一个子目录下,如图所示1.1,然后如图1.2操作,操作完成后,进行如图1.3所示操作
2、打开login_en_US.properties,然后点击Resource Bundle,然后点击➕,然后添加内容如图2.1所示
3、在application中配置国际化,yml文件配置如图3.1所示
4、基于themleaf的前端页面,获取国际化名字,如图4.1所示
5、在登录界面,通过选择中文还是English,实现国际化,themleaf是使用小括号,然后参数按照key=value的形式设置,注意单引号;
6、覆盖springboot的自带配置,那么我们新建一个文件 MyLocaleResolver,用来实现 LocaleResolver 接口的作用;
package cn.bonze.springboot_curd.component;
import org.springframework.util.StringUtils;
import org.springframework.web.servlet.LocaleResolver;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Locale;
/**
* 可以在连接上携带区域信息
* @author Administrator
*/
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) {
}
}
7、为了让配置生效,将配置注入到spring中,如下代码所示
package cn.bonze.springboot_curd.config;
import cn.bonze.springboot_curd.component.MyLocaleResolver;
import org.springframework.boot.autoconfigure.web.WebMvcProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import java.util.Locale;
/**
* @author chenb
*/
@Configuration
public class MyMvcConfig extends WebMvcConfigurerAdapter {
@Bean
public LocaleResolver localeResolver(){
return new MyLocaleResolver();
}
}
8、最终效果展示
- 本文来自尚硅谷视频教程中的内容