一尘不染

Thymeleaf是什么样的解决方案?

jsp

我读到,如今百里香叶比JSP更受欢迎。thymeleaf解决了JSP无法解决的问题?与其他模板引擎相比,百里香叶怎么样?


阅读 278

收藏
2020-06-08

共1个答案

一尘不染

好吧,这确实是一个基于观点的问题,这将是我的答案:)

主要区别在于JSP被编译为Java
servlet类,而Thymeleaf读取模板文件,解析其DOM,然后将模型应用于该文件。即使启用了Thymeleaf的模板缓存,这也会带来性能开销,并给JSP提供性能优势。另一方面,它使Thymeleaf的开发更加容易,这就是为什么:

  • Thymeleaf使用纯HTML作为模板。您可以选择具有data-th属性的纯HTML5方法,也可以选择原始的自定义命名空间th:属性。使用纯HTML的好处是可以在浏览器中打开它,这使设计人员可以更轻松地完成工作:设计人员和开发人员都可以在同一个文件上工作。

  • Thymeleaf模板可以在没有应用程序服务器的情况下使用,并且还可以与嵌入式服务器很好地配合使用。您不必跳过所有步骤即可对模板进行集成测试,您可以通过Thymeleaf自己的独立模板测试库或作为功能测试的一部分(例如,Spring MVC控制器的集成测试)来进行模板的集成测试。

  • Thymeleaf具有更轻量,更强大的语法,并与Spring生态系统更好地集成。它的设计目的是从概念上与Spring集成,但是您也可以在Spring之外使用它。我发现它对于电子邮件和报告生成很有用。

  • Thymeleaf模板允许大量重用;您可以创建小的模板片段,并在其他模板中重用它们,这在具有很多模板的项目中是一个救命稻草。它也具有开箱即用的强大布局支持,尽管如果您需要更大的灵活性/功能,也可以找到社区插件

免责声明:一年多来我没有做过Thymeleaf开发,但据我所知,它并没有太大改变。您也可以查看Spring的这篇文章
-虽然文章有些陈旧,但确实说明了主要区别。

2020-06-08