Thymeleaf详解
表达式分为三种
- 变量表达式
- 选择或星号表达式
- URL表达式
1.变量表达式
${user.name}
2.选择(星号)表达式
- 使用th:object="${user}">定义下发要用到的对象,可以简化变量表达式
<tr th:each="user : ${all}" th:object="${user}">
<td th:text="${user.id}">1</td>
<td th:text="*{name}">张三</td>
<td th:text="*{userName}">zhangsan</td>
</tr>
3.URL表达式
- 格式
- @{/请求地址(参数名=值,参数名=值)}
- 所有表达式都要写在th指令里
<tr th:each="user : ${all}" th:object="${user}">
<a th:href="@{/ServletURL(id=*{id})}">删除</a>
</tr>
- 文本替换
- |/请求地址/替换内容|
<tr th:each="user : ${all}" th:object="${user}">
<a th:href="|/update/${user.id}|">修改</a>
</tr>
- 字符拼接
- ‘地址’+字符串
<tr th:each="user : ${all}" th:object="${user}">
<a th:href="'/approve/'+*{id}">审核</a>
</tr>
常见表达式
-
字面(Literals)
- 文本文字(Text literals): ‘one text’, ‘Another one!’,…
- 数字文本(Number literals): 0, 34, 3.0, 12.3,…
- 布尔文本(Boolean literals): true, false
- 空(Null literal): null
- 文字标记(Literal tokens): one, sometext, main,…
-
文本操作(Text operations)
- 字符串连接(String concatenation): +
- 文本替换(Literal substitutions): |The name is ${name}|
-
算术运算(Arithmetic operations)
- 二元运算符(Binary operators): +, -, *, /, %
- 减号(单目运算符)Minus sign (unary operator): -
-
布尔操作(Boolean operations)
- 二元运算符(Binary operators): and, or
- 布尔否定(一元运算符)Boolean negation (unary operator): !, not
-
比较和等价(Comparisons and equality)
- 比较(Comparators): >, <, >=, <= (gt, lt, ge, le)
- 等值运算符(Equality operators): ==, != (eq, ne)
-
条件运算符(Conditional operators)
- If-then: (if) ? (then)
- If-then-else: (if) ? (then) : (else)
- Default: (value) ?: (defaultvalue)