页面国际化:
-
我们需要配置i18n文件
-
我们如果需要在项目中进行按钮自动切换,我们需要自定义一个组件LocaleResolver
-
记得将自己写的组件配置到spring容器 @Bean
-
#{}
准备工作
先在IDEA中统一设置properties的编码问题!
目录
文件
application.properties
#我们的配置文件放的真实位置 spring.messages.basename=i18n.login
引用
实现点击按钮切换
MyLocalResolver
public class MyLocalResolver 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 httpServletRequest, HttpServletResponse httpServletResponse, Locale locale) {
}
}
注册 MyMvcConfig
@Configuration
public class MyMvcConfig implements WebMvcConfigurer {
//自定义的国际化组件
@Bean
public LocaleResolver localeResolver(){
return new MyLocalResolver();
}
}