百里香酚是一种什么样的解决方案?[已关闭]

2022-09-01 13:09:27

我读到现在更喜欢百里香酚而不是JSP。百里香酚能解决JSP无法解决的哪个问题?与其他模板引擎相比,百里香叶如何?


答案 1

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

主要区别在于JSP被编译为Java servlet类,而Thymeleaf读取模板文件,解析其DOM,然后将模型应用于它。这引入了性能开销,并为 JSP 提供了性能优势,即使启用了 Thymeleaf 的模板缓存也是如此。另一方面,它使Thymeleaf更容易开发,原因如下:

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

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

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

  • 百里香叶模板允许大量重用;您可以创建小模板片段并在其他模板中重用它们,这在具有大量模板的项目中是救星。它还具有出色的开箱即用布局支持,尽管如果您需要更大的灵活性/功能,您也可以找到社区插件

免责声明:我已经一年多没有做过任何Thymeleaf开发,但从我所看到的,它没有太大的变化。您也可以从Spring看一下这篇文章 - 虽然它有点旧,但它确实说明了主要区别。


答案 2