我读过现在比较喜欢thymeleaf而不是JSP。百里香解决JSP不能做什么问题?与其他模板引擎相比,thymeleaf如何?什么样的解决方案是thymeleaf?
7
A
回答
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 - 虽然它有点老,但它确实说明了主要的差异。
相关问题
- 1. 什么是可能的解决方案
- 2. 'PageJacking'的解决方案是什么?
- 3. 什么样的问题DSL是适当的解决方案?
- 4. paymentWithProductIdentifier是什么替代解决方案?
- 5. Haskell任务 - 什么是解决方案
- 6. smarty标签和css条件标签是一样的,解决方案是什么?
- 7. 解决二叉平方优化问题的最佳解决方案是什么?
- 8. 什么是选择真实解决方案的正确方法?
- 9. 构建nservicebus解决方案的最佳方式是什么?
- 10. ,这是什么工厂方法的最佳解决方案
- 11. 为什么看不到解决方案
- 12. 解决方案有什么不同
- 13. 欧拉3解决方案,为什么?
- 14. 区块链?有什么解决方案?
- 15. Django:get_object_or_404不是正确的解决方案,但是什么?
- 16. 我的缓存解决方案解决方案是否安全?
- 17. 什么是加速?无法理解解决方案
- 18. 为什么像推杆这样的解决方案声称是“实时”?
- 19. 地图解决方案给AC和解决方案与unordered_map给WA。为什么?
- 20. 同样的解决方案,在Codechef(JAVA)
- 21. 什么是我的购物车更好的解决方案?
- 22. 使用Delphi XE2的MySQL的解决方案是什么?
- 23. 什么是在listview中的许多条目的解决方案?
- 24. “Uncaught TypeError:$(...)。select2不是函数”解决方案是什么?
- 25. 用信号量解决这种情况的最佳解决方案是什么?
- 26. Visual Studio:单一解决方案还是很多解决方案?
- 27. 在Visual Studio Solution Explorer中,为什么解决方案名称是localhost而不是解决方案名称?
- 28. 此视频布局的最佳解决方案是什么?
- 29. 什么是最好的MVC3解决方案结构?
- 30. 复选框绑定 - 什么是更好的解决方案?
http://www.thymeleaf.org/doc/articles/thvsjsp.html –