【问题标题】:Difference between spring JSP MVC and Thymeleaf MVCSpring JSP MVC 和 Thymeleaf MVC 的区别
【发布时间】:2016-12-07 13:53:58
【问题描述】:

spring JSP MVC 和 Thymeleaf MVC 有什么区别?哪一种是春季网页设计的最佳方式?

【问题讨论】:

    标签: spring spring-mvc


    【解决方案1】:

    它们都是 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

    【讨论】:

    • @ZaferYilmaz 希望这对您有帮助,如果您对答案有任何疑问,请随时在此处发表评论。
    • Thymeleaf 是一个天然的模板引擎。我们可以实时预览更改,而无需编译、构建和运行
    • JSP 的问题在于它允许您在 HTML 中混合 Java 代码,使其难以阅读。但是,通过定义标签,您永远不需要这样做,而且确实,这样做是不好的做法。在我看来,正确编写的 JSP 比 Thymeleaf 模板更易于阅读和理解。
    • 性能怎么样?这两个框架中哪一个更快,每个需要多少内存?
    • JSP 被编译成 java,thymeleaf 模板被解释为 afaik,因此性能差异很大:github.com/jreijn/spring-comparing-template-engines
    【解决方案2】:

    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 有严格的规则来关闭可能会根据个人意见和经验得出答案的问题。
    • 我接受你对jsp的批评,这是真的,还有thymeleaf引擎的速度。但是我怎么能给出不基于个人意见和经验的答案呢?
    • 我仍然坚持我的观点,特别是与设计师合作进行迭代开发会更好
    • @Zildyan 谢谢你的回答。
    • @Zildyan 设计师从不做 HTML。所以,这一点是无关紧要的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-25
    • 2015-12-31
    • 2018-01-07
    • 2018-06-12
    • 2019-06-28
    • 2017-01-01
    • 2021-11-19
    相关资源
    最近更新 更多