Thymeleaf是一款用于渲染XML/XHTML/HTML5内容的模板引擎。类似JSP,Velocity,FreeMaker等,它也可以轻易的与Spring MVC等Web框架进行集成作为Web应用的模板引擎。与其它模板引擎相比,Thymeleaf最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个Web应用。 Thymeleaf初探 相比于其他的模板引擎,Thymeleaf最大的特点是通过HTML的标签属性渲染标签内容,以下是一个Thymeleaf模板例子: Good Thymes Virtual Grocery
Welcome to our grocery store!
这是一段标准的HTML代码,这也就意味着通过浏览器直接打开它是可以正确解析它的结构并看到页面的样子。相比去其他的模板引擎在指定的位置通过${}等表达式进行渲染,Thymeleaf则是一种针对HTML/XML定制的模板语言(当然它可以被扩展),它通过标签中的th:text属性来填充该标签的一段内容。上例中,Welcome to our grocery store!
意味着标签中的内容会被表达式#{home.welcome}的值所替代,无论模板中它的内容是什么,之所以在模板中“多此一举“地填充它的内容,完全是为了它能够作为原型在浏览器中直接显示出来。 标准表达式语法 变量 Thymeleaf模板引擎在进行模板渲染时,还会附带一个Context存放进行模板渲染的变量,在模板中定义的表达式本质上就是从Context中获取对应的变量的值:
Today is: 13 february 2011.
假设today的值为2015年8月14日,那么渲染结果为:Today is: 2015年8月14日.
。可见Thymeleaf的基本变量和JSP一样,都使用${.}表示获取变量的值。 URL URL在Web应用模板中占据着十分重要的地位,需要特别注意的是Thymeleaf对于URL的处理是通过语法@{...}来处理的。Thymeleaf支持绝对路径URL: Thymeleaf 同时也能够支持相对路径URL: 当前页面相对路径URL——user/login.html,通常不推荐这样写。 Context相关URL——/static/css/style.css 另外,如果需要Thymeleaf对URL进行渲染,那么务必使用th:href,th:src等属性,下面是一个例子 view view view 几点说明: 上例中URL最后的(orderId=${o.id})表示将括号内的内容作为URL参数处理,该语法避免使用字符串拼接,大大提高了可读性 @{...}表达式中可以通过{orderId}访问Context中的orderId变量 @{/order}是Context相关的相对路径,在渲染时会自动添加上当前Web应用的Context名字,假设context名字为app,那么结果应该是/app/order 字符串替换 很多时候可能我们只需要对一大段文字中的某一处地方进行替换,可以通过字符串拼接操作完成: 一种更简洁的方式是: 当然这种形式限制比较多,|...|中只能包含变量表达式${...},不能包含其他常量、条件表达式等。 运算符 在表达式中可以使用各类算术运算符,例如+, -, *, /, % th:with="isEven=(${prodStat.count} % 2 == 0)" 逻辑运算符>,关注
打赏
热门博文
- Java基础学习总结(175)——分布式ID的9种生成方式总结
- 2016年终总结
- 青春路上,岁月如烟
- Terraform 学习总结(10)—— 阿里云平台 Terraform 代码开发技巧总结
- Terraform 学习总结(9)—— 如何解决存量云资源的管理难题
- Java基础学习总结(197)—— CompletableFuture 异常处理总结
- Kubernetes 学习总结(36)—— Kubernetes 本地运行的四种方法
- Linux 学习总结(90)—— Linux 远程数据同步工具 Rsync(remote synchronize)详解
- Java基础学习总结(196)—— Java、Spring、Dubbo 三种 SPI 机制详解
- Kubernetes 学习总结(35)—— Kubernetes 1.25 正式发布,多方面重大突破