您好,感谢您的时间
我正在学习spring MVC并且想要创建网站。主要问题是模板系统。
我应该使用JSP / JSF / Apache FreeMarker / Thymeleaf还是其他什么?
我看到很多关于这个主题的讨论,但它们都已经过时了。所以,我很好奇,现在什么都好?
答案 0 :(得分:8)
服务器端呈现的最佳实践已转向使用模板引擎。这些人有责任将数据与模板合并到实际输出中。
目前的偏好似乎是:
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/