需求:页面支持国际化语言的切换
效果图:
一、使用thymeleaf模板引擎 1、引入thymeleaf命名空间xmlns:th="http://www.thymeleaf.org"2、动态获取路径参数
中文
English
二、配置i18n配置文件
配置要国际化的内容
要添加更多的国际化语言
在yaml中配置国际化文件的真实位置
spring #国际化配置文件的真实位置 messages: basename: i18n.login三、自定义LocaleResolver
public class MyLocaleResolver implements LocaleResolver {
@Override
public Locale resolveLocale(HttpServletRequest request) {
//获取请求中的语言参数
String language = request.getParameter("l");
Locale locale=Locale.getDefault();//如果没有就使用默认的;
//如果请求的链接携带了国际化的参数
if (!StringUtils.isEmpty(language)){
//zh_CN
String[] split=language.split("_");
//国家,地区
locale = new Locale(split[0], split[1]);
}
return locale;
}
@Override
public void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale) {
}
}
四、注入到Spring中
@Configuration
public class MyConfig implements WebMvcConfigurer {
//自定义的国际化组件就生效了
@Bean
public LocaleResolver localeResolver(){
return new MyLocaleResolver();
}
}
完成!!!



