1,添加依赖
org.springframework.boot
spring-boot-starter-thymeleaf
org.springframework.boot
spring-boot-starter-web
2,编写classspath:路径中i81n文件
3,在配置文件中添加
spring.messages.basename=i81n/login
4,在配置类中实现bean的注入
@Configuration
public class MyMvcConfig implements WebMvcConfigurer {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/login.html").setViewName("login");
}
@Bean
public LocaleResolver localeResolver(){
return new NativeLocaleResolver();
}
protected static class NativeLocaleResolver implements LocaleResolver {
@Override
public Locale resolveLocale(HttpServletRequest request) {
String language = request.getParameter("language");
System.out.println("-----"+language);
Locale locale = Locale.getDefault();
if(!StringUtils.isEmpty(language)){
String[] split = language.split("_");
locale = new Locale(split[0],split[1]);
}
return locale;
}
}
}
5,测试:在classpath 的thymeleaf目录下 新建login.html ,在控制器中编写如:
注意:若浏览器出现乱码 可能还得编辑浏览器的高级–语言 把中文移动到 顶部
效果图:
附加:
i81n文件下:
login.properties文件中编写:
login.password=密码1
login.remember=记住我1
login.sign=登录1
login.username=用户名1
login_en_US.properties 编写:
login.password=Password
login.remember=Remember Me
login.sign=Sign In
login.username=Username
login_zh_CN.properties 编写:
login.password=密码~
login.remember=记住我~
login.sign=登录~
login.username=用户名~
login.html内容: