1.写汉语英语配置资源文件
2.springboot自动配置好了管理国际化资源文件的组件
3.指定资源文件包名
spring.messages.basename=i18n.login
4.去页面获取国际化的值 thymeleaf使用#{}获取资源文件的值
<!--单标签-->
<input type="checkbox" name="remember">[[#{login.rem}]]
<!--双标签-->
<a href="#" th:text="#{login.forget}">忘记密码?</a>
<!--处理国际化请求-->
<span><a th:href="@{/login.html(l='zh_CN')}">中文</a></span>
<span><a th:href="@{/login.html(l='en_US')}">English</a></span>
5.写配置类MyLocaleResolver
/*Locale地区 Resolver分解器*/
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[] s = l.split("_");
/*用语言国家的构造方法*/
locale=new Locale(s[0], s[1]);
}
return locale;
}
@Override
public void setLocale(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Locale locale) {
}
}
6.在自己的配置类中将国际化配置MyLocaleResolver加到容器中
@Configuration
public class MyNewConfig implements WebMvcConfigurer {
/**
* 将国际化配置MyLocaleResolver加到容器中
* @return
*/
@Bean
public LocaleResolver localeResolver() {
return new MyLocaleResolver();
}
}
7.页面效果