使用Thymeleaf
尽管JSP已经存在了很长的时间,并且在JavaWeb服务器中无处不在,但是它却存在一些缺陷。JSP最明显的问题在于它看起来像HTML或XML,但它事实上并不是。强大的JSP标签库带来了不错的渲染效果,但是这些标签会使页面变得非常混乱。在Web浏览器或HTML编辑器中查看未经渲染的JSP模板并不是一件愉快的事,它的页面会变得非常混乱,结果也是不完整的。同时,JSP规范是与Servlet规范紧密耦合的。这意味着它只能用在基于Servelt的Web应用中。JSP模板不能作为通用的模板(如格式化Email),也不能用在非Servlet的Web应用中。
Thymeleaf模板是原生的,不依赖标签库。它能在接收原始HTML的地方进行编辑和渲染。接下里,让我们看一下如何在SpringMVC中使用Thymeleaf。
配置Thymeleaf视图解析器
要在Spring中使用Thymeleaf,我们需要配置三个启用Thymeleaf与Spring集成的bean:
a、ThymeleafViewResolver:将逻辑视图名称解析为Thymeleaf模板视图;
b、SpringTemplateEngine:处理模板并渲染结果;
c、TemplateResolver:加载Thymeleaf模板。
以下为声明这些bean的Java配置:
@Bean //Thymeleaf视图解析器
public ViewResolver viewResolver(SpringTemplateEngine templateEngine){
ThymeleafViewResolver ViewResolver = new ThymeleafViewResolver();
ViewResolver.setTemplateEngine(templateEngine);
return viewResolver;
}
@Bean //模板引擎