【问题标题】:What template engine should I use in Spring MVC?我应该在 Spring MVC 中使用什么模板引擎?
【发布时间】:2017-06-02 03:13:24
【问题描述】:

我正在学习 Spring MVC 并想创建一个站点。主要问题是模板系统。我应该使用 JSP / JSF / Apache FreeMarker / Thymeleaf 还是其他什么?

我看到很多关于这个主题的讨论,但它们都已经过时了。所以,我很好奇,现在怎么样了?

【问题讨论】:

  • 两个答案,两个建议thymeleaf。我会去的。几个月前我使用 Spring MVC+T​​hymeleaf 做了一个小项目,我真的很高兴。

标签: java spring-mvc templates template-engine


【解决方案1】:

服务器端渲染的最佳实践已经转向使用模板引擎。这些负责将数据与模板合并到实际输出中。

目前的偏好似乎是:

JSP 和 JSF 是完全不同的东西,已经过时了。

使用实际模板引擎的最大好处是,您必须将收集数据以呈现和呈现数据的关注点分开;这种分离允许您(单元)测试模板。

但是请注意,该行业正在再次转向客户端渲染,其中服务器只是将数据作为 JSON 对象返回,而 Web 应用程序使用一些框架,如 Angular、React、使用 jQuery 或 Ember 构建页面。

编辑注意:最初列表包括 Velocity,但 Spring 不再支持。

【讨论】:

【解决方案2】:

您可以使用它们中的任何一个,因为它们受支持。 JSP、FreeMaker 和 Thymeleaf 在思想上是相似的:您创建一个要呈现的 模板。 JSP 和 FreeMaker 缺少 Thymeleaf 中提供的一些功能。

我喜欢 Thymeleaf 的想法,您可以在其中将模板加载到浏览器并查看页面将如何呈现(真实)。 Thymeleaf 模板是功能齐全的 HTML 页面。这在拥有 JSP 标签的 JSP 和拥有 占位符的 FreeMaker 中是不可能的。

JSF 是基于 component 的,所以这是一种不同的方法。

如果我必须选择,我会使用 Thymeleaf。

【讨论】:

    【解决方案3】:

    有很多可用的模板引擎。但是 Spring Boot 正式支持 Thymeleaf、FreeMarker、Mustache 和 Groovy 模板。我的首选是Thymeleaf,因为它具有可扩展性。

    下面的帖子对模板引擎的各个方面进行了详细的比较。

    https://springhow.com/spring-boot-template-engines-comparison/

    【讨论】:

      猜你喜欢
      • 2017-05-11
      • 2013-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-05
      • 1970-01-01
      相关资源
      最近更新 更多