Spring boot中学习国际化的实现:
前端页面:
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
<style type="text/css">
.background{
height: 500px;
width: 800px;
background-color: cornflowerblue;
text-align: center;
}
</style>
</head>
<div class="background">
<form th:action="@{/login}" method="post" name="loginForm">
<div style="font-size: 25px;padding-top: 50px;" >BookCity System</div>
<div style="margin-top: 50px;">
<p><span th:text="#{login.Username}">Username:</span><input type="text" style="width: 50px" name="name"/></p>
<p><span th:text="#{login.password}">password:</span><input type="password" style="width: 50px" name="password"/></p>
<p><input type="radio" name="whologin" value="1"/> <span th:text="#{login.admin}">Admin</span>
<input type="radio" name="whologin" value="2"/> <span th:text="#{login.user}">User</span>
</p>
<p><button type="submit" name="login" ><span th:text="#{login.loginbtn}">Sign in</span></button>
<button name="register"><a href="/register" th:text="#{login.regster}">Resigter</a></button>
</p>
<p>
<a th:href="@{/index(lang='zh_CN')}" name="Chinese">Chinese</a>
<a th:href="@{/index(lang='en_US')}" name="English">English</a>
</p>
</div>
</form>
</div>
<body>
</body>
</html>
MyLocaleResolver后台以及配置:
package com.biz.bookcity.config;
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 lin
* @date 2020年 08月17日 18:05:58
*/
public class MyLocaleResolver implements LocaleResolver {
@Override
public Locale resolveLocale(HttpServletRequest request) {
String lang= request.getParameter("lang");
Locale locale=Locale.getDefault();
if (!StringUtils.isEmpty(lang)){
String[] split=lang.split("_");
locale=new Locale(split[0],split[1]);
}
return locale;
}
@Override
public void setLocale(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Locale locale) {
}
}
i18n:
login.properties:
login.admin=Admin
login.Chinese=Chinese
login.English=English
login.loginbtn=Sign in
login.password=password
login.regster=Resigter
login.user=User
login.Username=Username
login_en_US.properties:
login.admin=Admin
login.Chinese=Chinese
login.English=English
login.loginbtn=Sign in
login.password=password
login.regster=Resigter
login.user=User
login.Username=Username
login_zh_CN.properties:
login.admin=管理员
login.Chinese=中文
login.English=英语
login.loginbtn=登录
login.password=密码
login.regster=注册
login.user=普通用户
login.Username=用户名