在 spring 中想要使用 Thymeleaf,需要配置三个 bean:
ThymeleafViewResolver(将逻辑视图名称解析为 Thymeleaf 模板视图)
SpringTemplateEngine(处理模板并渲染结果)
TemplateResolver(加载 Thymeleaf 模板)
可以注解来配置 bean,也可以 xml 方式来配置。本例使用注解。
/**
* Thymeleaf视图解析器
* */
@Bean
public ViewResolver viewResolver(SpringTemplateEngine templateEngine){
ThymeleafViewResolver viewResolver=new ThymeleafViewResolver();
viewResolver.setTemplateEngine(templateEngine);
return viewResolver;
}
/*
* 模板引擎
* */
@Bean
public TemplateEngine templateEngine(TemplateResolver templateResolver){
SpringTemplateEngine templateEngine=new SpringTemplateEngine();
templateEngine.setTemplateResolver(templateResolver);
return templateEngine;
}
/**
* 模板解析器
* */
@Bean
public TemplateResolver templateResolver(){
TemplateResolver templateResolver=new TemplateResolver();
templateResolver.setPrefix("/WEB-INF/templates/");
templateResolver.setSuffix(".html");
//templateResolver.setTemplateMode("HTML5"); 当你返回html5时
return templateResolver;
}
这样就配置完毕了,ThymeleafViewResolver 是 ViewResolver 的实现类,当流程走到试图时,相应对象已注入,SpringTemplateEngine 会在 Spring 中启用 Thymeleaf 引擎,用来解析模板,并基于这些模板渲染结果,最后 TemplateResolver 会查找定位资源模板,和 jsp 的视图解析器 InternalResourceViewResolver 类似。
和 jsp 相比的话优点:
优点:Thymeleaf 和 servlet 没有耦合,和 Thymeleaf 模板是纯 HTML,可以以原始的方式编写和预览,并且可以在运行时渲染动态模型数据。
不了解便签含义的可以查看官网文档,比较详细。
参考资料:
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于