之前一直以为,项目的编码,总共涉及三点,数据库,开发工具中文件编码设置,html编码。这次第一次使用thymeleaf,看来还得加上模板设置编码。
以下是thymeleaf编码设置,模板解析器和视图解析器都得设置
@Bean
public ViewResolver viewResolver(SpringTemplateEngine templateEngine) {
ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
viewResolver.setTemplateEngine(templateEngine);
**viewResolver.setCharacterEncoding("UTF-8");**
return viewResolver;
}
@Bean
public SpringTemplateEngine templateEngine(TemplateResolver templateResolver) {
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.setTemplateResolver(templateResolver);
return templateEngine;
}
@Bean
public TemplateResolver templateResolver() {
TemplateResolver templateResolver = new ServletContextTemplateResolver();
templateResolver.setPrefix("/WEB-INF/templates/");
templateResolver.setSuffix(".html");
templateResolver.setTemplateMode("HTML5");
**templateResolver.setCharacterEncoding("UTF-8");**
return templateResolver;
}