本章将介绍什么是字面值常量?Thymeleaf 中有哪些字面值常量?
字面值常量用于表示固定的值(fixed value)。在 Thymeleaf 中,提供了文本型字面值常量、数值型字面值常量、布尔值字面值常量和 null 字面常量等,下面将分别对它们进行介绍。
文本字面值是指在单引号之间指定的字符串。它们可以包括任何字符,但你应该用 "/" 来转义它们内部的任何单引号。例如:
<p> Now you are looking at a <span th:text="'working web application'">template file</span>. Now you are looking at a <span th:text="'working web \' application'">template file</span>. </p>
数字字面值就是这样的数字。例如:
<p>The year is <span th:text="2013">1492</span>.</p> <p>In two years, it will be <span th:text="2013 + 2">1494</span>.</p>
上面的 2013 和 “2013 + 2” 表达式结果均是数字字面值。
布尔值是指 true 和 false。例如:
<div th:if="${user.isAdmin()} == false"> ... </div>
在这个例子中,== false 是写在大括号外面的,所以是由 Thymeleaf 来处理的。如果它被写在大括号内,那就是 OGNL/SpringEL 引擎负责处理,例如:
<div th:if="${user.isAdmin() == false}"> ... </div>
我们也可以使用 null 字面值。例如:
<div th:if="${variable.something} == null"> ... </div>
标记指用于 HTML 标签中的 class、id、name 等等属性的值。数字、布尔和 null 字面值符号实际上是字面值符号的一种特殊情况。
标记允许在标准表达式中进行一些简化,它的工作方式与文本字面值的意义完全相同。但标记只允许字母(A-Z和a-z)、数字(0-9)、括号([ 和 ])、点(.)、连字符(-)和下划线(_)。不允许空白、逗号等等字符。
示例:设置 div 标签的 class 标记,添加 class 时不需要添加单引号,如下:
<div th:class="content">...</div>
而不是:
<div th:class="'content'">...</div>