2016-08-06 136 views

回答

9

嗯,这的确是一个基于舆论的问题,这样将是我的答案:)

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

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

  • Thymeleaf模板可以在没有应用程序服务器的情况下使用,它们也可以很好地与嵌入式服务器配合使用。您不必花费大量时间对模板进行集成测试,您可以通过Thymeleaf's own standalone template testing library或作为功能测试的一部分进行集成测试,例如, Spring MVC控制器的集成测试。

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

  • Thymeleaf模板允许重用;您可以创建小模板片段并在其他模板中重新使用它们,这是具有大量模板的项目中的救星。它也具有很好的布局支持,尽管如果您需要更多的灵活性/功能,您还可以找到community plugins

免责声明:我没有做过任何Thymeleaf发展了一年多,但是从我所看到的,它并没有发生太大的变化。你也可以看看春天的this article - 虽然它有点老,但它确实说明了主要的差异。

相关问题