Thymeleaf与Servlet的整合运用

673 阅读2分钟

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方式,较为复杂就不再赘述。