Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我应该在SpringMVC中使用什么模板引擎?_Java_Spring Mvc_Templates_Template Engine - Fatal编程技术网

Java 我应该在SpringMVC中使用什么模板引擎?

Java 我应该在SpringMVC中使用什么模板引擎?,java,spring-mvc,templates,template-engine,Java,Spring Mvc,Templates,Template Engine,我正在学习SpringMVC,希望创建一个站点。主要问题是模板系统。我应该使用JSP/JSF/apachefreemarker/Thymeleaf还是其他什么 我看到很多关于这个问题的讨论,但都过时了。所以,我很好奇,现在什么是好的?您可以使用它们中的任何一个,因为它们是受支持的。JSP、FreeMaker和Thymeleaf在思想上是相似的:您创建一个要呈现的模板。JSP和FreeMaker缺少Thymeleaf中提供的一些功能 我喜欢Thymeleaf的想法,您可以将模板加载到浏览器,并查看

我正在学习SpringMVC,希望创建一个站点。主要问题是模板系统。我应该使用JSP/JSF/apachefreemarker/Thymeleaf还是其他什么


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

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

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

JSF是基于组件的,所以这是一种不同的方法


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

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

当前的首选项似乎是:

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

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

但是,请注意,业界正在再次转向客户端呈现,服务器只是将数据作为JSON对象返回,web应用程序使用Angular、React、jQuery或Ember等框架来构建页面


编辑说明:最初列表包括Velocity,但Spring不再支持它。

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

下面的文章详细比较了模板引擎的各个方面


有两个答案,这两个答案都表明是百里香。我会努力的。几个月前,我使用Spring MVC+Thymeleaf做了一个小项目,我真的很高兴。请注意,从5.0.1开始,Velocity支持就从Spring中删除了: