使用Thymeleaf配置国际化页面
将上一讲ThymeleafDemo项目的内容拷贝到新项目里
在resources下创建i18n目录
在i18n目录里创建login.properties
在i18n目录里创建login_zh_CN.properties
在i18n目录里创建login_en_US.properties
编写全局配置文件
定制区域信息解析器
package net.lhf.lesson10.resolver;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
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;
/**
* 功能:自定义区域
* 作者:李红芙
* 日期:2021年5月26日
*/
@Configuration
public class MyLocalResolver implements LocaleResolver {
@Override
public Locale resolveLocale(HttpServletRequest httpServletRequest) {
//获取区域的标识
String flag = httpServletRequest.getParameter("flag");
//获取默认区域对象
Locale locale = Locale.getDefault();
//判断区域标识是否为空
if(!StringUtils.isEmpty(flag)){
//对区域标识进行拆分处理
String[] splits = flag.split("_");//使用下划线切分字符串返回一个字符串数组
//利用区域标识创建区域对象
locale = new Locale(splits[0],splits[1]);
}
return locale;
}
@Override
public void setLocale(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Locale locale) {
}
@Bean
public LocaleResolver localeResolver(){
return new MyLocalResolver();
}
}
页面国际化使用
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org/">
<head>
<meta charset="UTF-8">
<title>用户登录</title>
<link th:href=<