- 添加自己的LocaleResolver
package com.example.demo.configuration;
import org.springframework.context.annotation.Configuration;
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;
public class myLocaleResolver implements LocaleResolver {
@Override
public Locale resolveLocale(HttpServletRequest httpServletRequest) {
String th=httpServletRequest.getParameter("l");
Locale locale=Locale.getDefault();
if(!StringUtils.isEmpty(th)){
String[] spit=th.split("_");
locale=new Locale(spit[0],spit[1]);
}
return locale;
}
@Override
public void setLocale(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Locale locale) {
}
}
- 添加自己的LocaleResolver后,spring自带的LocaleResolver不生效
- 将自己的LocaleResolver ->myLocaleResolver 添加到spring 容器中
@Bean
public LocaleResolver localeResolver(){
return new myLocaleResolver();
}
-
创建配置文件设置国际化信息,配置文件名字中要有
zh_CN 代表中国
en_US 代表美国 -
如图
-
在配置文件中设置信息,添加中文,英文和缺省值
- -
在配置文件中加入 spring.messages.basename=login
-
前端代码