在春季使用百里香叶代替JSP有什么好处?

2022-09-04 03:07:48

我想知道在春季使用Thymeleaf而不是JSP可以获得哪些优势。


答案 1

通常引用的优点是:

  • 弹簧集成是Thymeleaf的一流方面(这里有很多文档)。在这种情况下,“一流”意味着它不是偶然或部分实施的,它是百里香叶的一个深思熟虑的,得到良好支持的方面。
  • Spring Expression Language比JSP Expression Language更强大。“更强大”听起来很主观,但在这种情况下,我们正在谈论与Spring的集成,因此Spring自己的EL(具有对模型属性,表单支持bean和国际化的感知)提供了比普通JSP表达式更开箱即用的表达。
  • Thymeleaf提供了有用的格式化实用程序,例如,这些实用程序与Spring很好地集成在一起,例如,您可以将Spring MVC传播的模型豆传递到这些函数中。${#calendars.format(...)}${#strings.capitalize(...)}
  • 构建/部署/测试反馈循环由 Thymeleaf 缩短。这是一个例子;假设您要更改网页的布局或样式。在Thymeleaf中,这涉及:(1)打开模板,编辑它和(可能)编辑它的链接文件;(2)点击刷新浏览器;(3)重复直到高兴。相比之下,JSP实现中的相同活动将涉及:(1)将应用程序部署到开发服务器中;(2)启动它;(3)进行一些修改;(4)重新部署(或热部署)变更;(5)重复直到高兴。.html.cssF5
  • 最后一点强烈暗示了JSP的这种局限性;它们不能在容器之外使用。相比之下,Thymeleaf 模板可以在容器外部使用。例如;Spring的MVC测试支持与Thymeleaf很好地集成在一起,可以允许您在测试上下文中渲染(并测试/断言)已解析的Thymeleaf模板,而无需启动应用程序。
  • Thymeleaf模板看起来像HTML(术语是“自然模板”),它们甚至可以在浏览器中呈现为静态内容(带有模板/原型数据),因此如果您的Web层和后端由不同的人/专业创作,那么Web设计人员比JSP更容易处理Thymeleaf。

答案 2