Thymeleaf教程(一)简介

来源:互联网 发布:37传奇霸业魂珠数据 编辑:程序博客网 时间:2024/05/16 05:15

logo

Thymeleaf,来看一下logo。

what

Thymeleaf是一个XML/XHTML/HTML5模板引擎,可用于Web与非Web环境中的应用开发。它是一个开源的Java库,基于Apache License 2.0许可,由Daniel Fernandez创建,该作者还是Java加密库Jasypt的作者。

Thymeleaf提供了一个用于整合Spring MVC的可选模块,在应用开发中,你可以使用Thymeleaf来完全代替JSP,或其他模板引擎,如Velocity、FreeMarker等。

更新情况

2017年3月29日,Thymeleaf 3.0.5已经公布,包括对Spring 5(Spring MVC and Spring WebFlux)的最新模块的一个更新。

主要目标

Thymeleaf的主要目标是为你的开发工作流程带来优雅的的自然模板-可以在浏览器中正确地显示HTML,还可以作静态原型工作,从而在开发团队中进行更强大的协作。

Themeleaf是现代HTML JVM Web开发的理想选择,使用Spring Framework的模块,与您最喜爱的工具进行大量集成,以及能够嵌套进自己的功能,还可以做得更多。

自然模板

用Thymeleaf编写的HTML模板仍然像HTML一样工作,让在应用程序中运行的实际模板继续作为有用的设计工件。相对于编写逻辑或代码,开发者只需将标签属性添加到模板中即可。接下来,这些标签属性就会在DOM上执行预先制定好的逻辑。

<table>  <thead>    <tr>      <th th:text="#{msgs.headers.name}">Name</th>      <th th:text="#{msgs.headers.price}">Price</th>    </tr>  </thead>  <tbody>    <tr th:each="prod: ${allProducts}">      <td th:text="${prod.name}">Oranges</td>      <td th:text="${#numbers.formatDecimal(prod.price, 1, 2)}">0.99</td>    </tr>  </tbody></table>

集成化

Eclipse, IntelliJ IDEA, Spring, Play,   甚至即将推出的用于Java EE 8  的Model-View-Controller API。使用您最喜欢的Web开发框架,在您最喜欢的工具中编写Thymeleaf。

谁在使用Thymeleaf

很多公司都在用,但是这里有几家公司已经很善于为我们提供关于他们如何用上Thymeleaf和如何使用他们。


                                                                                               部分翻译自Thymeleaf官网,http://www.thymeleaf.org/  

福利:freemarker、thymeleaf和velocity取舍

目前前两者都还有更新,有团队支持。而velocity已经6年没更新了。

我们再来对比前两者:目前了解,性能方面thymeleaf更差,但是它由于使用了标签属性作为语法,模板页面直接用浏览器渲染,使得前端和后段可以并行开发。freemarker使用</>这样的语法,就无法直接使浏览器渲染出原本页面的样子。

很难说两个谁好谁坏,都有各自的优点和不足,但目前来看,themeleaf在资料中出现得更多一些,IDEA中直接提供了thymeleaf的framework支持。但是也有网友诟病thymeleaf性能问题的更多,夸奖的没几个。具体在项目中选用哪个,还得看实际需要。






1 0
原创粉丝点击