JSP 已经存在很长时间了,很多公司还在用,它看起来像 HTML,但其实并不是,它有一些缺陷。比如,
每个页面顶部都需要有如下声明
与 Servlet 规范紧密耦合的,依赖 Servlet 容器(意味着无法直接浏览效果)。
工作过的几家公司,凡是有前端的,工作方式都是给前端安装 Java 开发环境,让前端在自己电脑上启动 Servlet 容器浏览效果。这样的方式,致使后端老是帮前端解决 Java 开发环境问题,还限制了前端在开发工具上的选择,很影响工作效率。
所以,就想到了 Thymeleaf。
第一听说 Thymleaf 是 在 2015 年,一直想在工作中应用起来,这次终于有机会了。
使用 Thymeleaf,前端可以任意选择一款趁手的开发工具,浏览效果不需要再启动 Servlet 容器。
Thymeleaf,可以认为它就是 HTML,它没有像 JSP 那样的标签库。它是通过自定义命名空间为HTML 标签添加 Thymeleaf 属性。使用 Thymeleaf 的页面,只需要声明命令空间,来看一个简单的页面。
除了 th:href 属性,其他的跟原生 HTML 完全一样,Thymeleaf 命名空间中很多属性都对应标准 HTML 属性,并且具有相同的名字,但是会渲染一些计算后得到的值。
现在举几个简单的例子对比一下 JSP 和 Thymealf 使用上的不同:
JSP 获取相对 URL
Thymeleaf 获取相对 URL
JSP 遍历 List
Thymeleaf 遍历 List
领取专属 10元无门槛券
私享最新 技术干货