springboot国际化
目录结构
实现步骤
-
配置i18n文件
- login.properties
login.btn=登录 login.password=密码 login.remember=记住我 login.tip=请登录 login.username=用户名- application.properties
# 我们的配置文件的真实位置 spring.messages.basename=i18n.login -
项目中进行按钮自动切换,需要自定义一个组件
LocaleResolver- MyLocaleResolver
public class MyLocaleResolver 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) { } } -
将组件配置到spring容器
@Bean- MyMvcConfig
@Configuration public class MyMvcConfig implements WebMvcConfigurer { // 自定义的国际化组件就生效了! @Bean public LocaleResolver localeResolver() { return new MyLocaleResolver(); } } -
#{}调用国际化内容- index.html