【发布时间】:2016-12-07 13:53:58
【问题描述】:
spring JSP MVC 和 Thymeleaf MVC 有什么区别?哪一种是春季网页设计的最佳方式?
【问题讨论】:
标签: spring spring-mvc
spring JSP MVC 和 Thymeleaf MVC 有什么区别?哪一种是春季网页设计的最佳方式?
【问题讨论】:
标签: spring spring-mvc
它们都是 Spring MVC 的视图层。首先,最基本的区别是文件扩展名。 (.jsp & .html)
cmets 中的Branislav 是对的,JSP 不是模板引擎。它被编译成 servlet,然后 servlet 提供 Web 内容。另一方面,Thymeleaf 是一个模板引擎,它获取 HTML 文件,对其进行解析,然后生成正在提供的 Web 内容。
当您将 Thymeleaf 与 JSP 视图进行比较时,它更像是一个 HTML 风格的视图。
我们可以在百里香中使用原型代码:http://www.dineshonjava.com/2015/01/thymeleaf-vs-jsp-spring-mvc-view-layer.html#.WEkLzLKLTig
因为它是更多的 HTML-ish 代码,所以 thymeleaf 代码更具可读性(当然你可以破坏它并创建不可读的代码,但最后,当你将它与 .jsp 进行比较时,它会更具可读性文件)
标准方言(表达式语言)比 JSP 表达式语言强大得多
如果我们把这一切都放在一个边缘,百里香叶就是这里的慢。
我建议你看看这个文档:http://www.thymeleaf.org/doc/articles/thvsjsp.html
【讨论】:
Thymeleaf 是模板解析器,处理模板并生成纯 html。
Thymeleaf 在我看来要好得多,因为它具有良好的基本原理并利用了浏览器的自然行为。
Jsp 让 html 难以阅读,它变成了 html 和 java 代码的奇怪混合,这给设计者和开发者之间的沟通带来了很多问题。
Thymeleaf 保留 html,只添加直观且极具表现力的标签。它使您能够在离线模式下工作,并且与 spring 配合得很好,我绝对推荐它在 jsp 之上。
http://www.dineshonjava.com/2015/01/thymeleaf-vs-jsp-spring-mvc-view-layer.html?m=1
【讨论】:
JSP 不是模板引擎。它被编译成 servlet,然后 servlet 提供 Web 内容。另一方面,Thymeleaf 是一个模板引擎,它接受HTML 文件,对其进行解析,然后生成正在服务的 Web 内容。如果在 Thymeleaf 中加入一堆逻辑,很容易在其中创建不可读的代码。那也消失了。更不用说它是最慢的模板引擎之一。因此,SO 有严格的规则来关闭可能会根据个人意见和经验得出答案的问题。