我应该在Spring MVC中使用什么模板引擎?

时间:2017-06-02 03:13:25

标签: java spring-mvc

您好,感谢您的时间

我正在学习spring MVC并且想要创建网站。主要问题是模板系统。

我应该使用JSP / JSF / Apache FreeMarker / Thymeleaf还是其他什么?

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

3 个答案:

答案 0 :(得分:8)

服务器端呈现的最佳实践已转向使用模板引擎。这些人有责任将数据与模板合并到实际输出中。

目前的偏好似乎是:

  1. Thymeleaf(http://www.thymeleaf.org
  2. FreeMarker(http://freemarker.org/
  3. Apache Velocity
  4. JSP和JSF完全不同的东西已经过时了。

    使用实际模板引擎的一大优点是,您不得不将收集数据的问题分开呈现并呈现数据,并允许您(单元)测试模板。

    行业再次转向客户端呈现,其中服务器只是将数据作为JSON对象返回,而Web应用程序使用Angular,React,jQuery或Ember等框架来构建页面。

答案 1 :(得分:4)

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

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

JSF是基于组件的,因此采用不同的方法。

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

答案 2 :(得分:0)

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

在下面的文章中解释了模板引擎各个方面的详细比较。

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