Thymeleaf是什么?
Thymeleaf是一种服务器端Java模板引擎,它通过在html标签中嵌入特殊的语法糖,实现双击html文件即可在浏览器中预览页面效果,又可以在服务端解析处理后渲染出动态页面。
这对于处理UI模板的前端设计人员非常友好,所见即所得。
同时对于服务器端人员来说,只需在html标签中嵌入语法糖,即可启用模板功能,渲染出动态页面,实现了前端设计人员和后端开发人员的职责分离。
Thymeleaf很容易学习与理解,并有着自己鲜明的特色,适合在后台应用,以及各种管理类系统中使用。
Thymeleaf的优势
1. 以html的属性出现,保证html的完整语法结构不被破坏
**2. 浏览器可直接预览模板文件,无需服务器端支持
****3. 提供了大量内置对象,内置工具类
****4. 语法简单,学习难度低
**5. 支持html,js,raw等多种模板类型
Thymeleaf在Servlet中的应用
Thymeleaf多见于SpringBoot的应用当中。JSP已被Spring放弃,在学习Web的过程中学习JSP已没有太多的意义。但Thymeleaf对Servlet的支持并不如JSP那么友好,需要我们自己做出一些配置才能正常的使用。
Thymeleaf是一个后端的引擎,需要启动后才能对我们的页面进行渲染,因此我们要在服务器启动时同时启动Thymeleaf引擎。在Servle中三大组件都可以完成这个任务。
最简单就是使用监听器,如下:
监听器配置方法
▲(使用监听器启动Thymeleaf引擎)
这种方式虽然简单但需要在每个Servlet中去调用Thymeleaf引擎的对象,使用起来略显不便。
过滤器配置方法
其二可以使用Servlet的过滤器来完成Thymeleaf引擎的启动和调用,配置如下:
▲(web.xml中配置Thymeleaf引擎过滤器)
▲(声明过滤器中声明成员变量)
▲(过滤器的初始化)
▲(过滤器主体编码)
使用方法
可以正常的方式使用Servlet,当需要跳转到Thymeleaf模板页面时,在Servlet中设置如下:
“forward”为约定的名称,在过滤器中获取到此名称的属性时,取出值作为跳转页面。这样可以尽量使初学者不将精力分散到Thymeleaf引擎的配置使用上。
Servlet配置方式
此方式为自定义MVC方式,较为复杂就不再赘述。