【发布时间】:2015-01-21 00:11:09
【问题描述】:
我正在开发一个使用 Spring MVC 和 Thymeleaf 和 Java 配置的 web 应用程序。在html 页面的模板中,通过以下代码将语言设置为瑞典语:
<html lang="sv">
并且通过这个元标记将编码设置为UTF-8:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
但由于某种原因,这不会显示瑞典字母。
我尝试将<html> 标记更改为XHTML 版本xml:lang="en",但没有任何区别。
由于我对 Spring 和 Thymeleaf 还很陌生,我不知道哪里出了问题,或者应该在哪里声明/设置语言/字符集,所以我给你 thymeleaf 配置代码和页面控制器:
@Configuration
public class ThymeleafConfig {
@Bean
public ServletContextTemplateResolver templateResolver() {
ServletContextTemplateResolver resolver = new ServletContextTemplateResolver();
resolver.setPrefix("/WEB-INF/pages/");
resolver.setSuffix(".html");
resolver.setTemplateMode("HTML5");
resolver.setOrder(1);
resolver.setCacheable(false);
return resolver;
}
@Bean
public SpringTemplateEngine templateEngine() {
SpringTemplateEngine engine = new SpringTemplateEngine();
engine.setTemplateResolver(templateResolver());
return engine;
}
@Bean
public ThymeleafViewResolver thymeleafViewResolver() {
ThymeleafViewResolver resolver = new ThymeleafViewResolver();
resolver.setTemplateEngine(templateEngine());
return resolver;
}
}
控制器:
@Controller
public class IndexController {
@RequestMapping(value = "/", method = RequestMethod.GET)
public ModelAndView index() {
ModelAndView model = new ModelAndView();
model.setViewName("index");
return model;
}
}
【问题讨论】:
标签: java spring spring-mvc thymeleaf