语法:
标准表达式语法
- 简单表达:
- 变量表达式:
${...}
- 选择变量表达式:
*{...}
- 消息表达式:
#{...}
- 链接网址表达式:
@{...}
- 变量表达式:
- 字面
- 文本文字:
'one text'
,'Another one!'
,... - 号码文字:
0
,34
,3.0
,12.3
,... - 布尔文字:
true
,false
- 空字面:
null
- 文字标记:
one
,sometext
,main
,...
- 文本文字:
- 文字操作:
- 字符串连接:
+
- 文字替换:
|The name is ${name}|
- 字符串连接:
- 算术运算:
- 二元运算符:
+
,-
,*
,/
,%
- 减号(一元运算符):
-
- 二元运算符:
- 布尔运算:
- 二元运算符:
and
,or
- 布尔否定(一元运算符):
!
,not
- 二元运算符:
- 比较和等价:
- 比较:
>
,<
,>=
,<=
(gt
,lt
,ge
,le
) - 等价表达式:
==
,!=
(eq
,ne
)
- 比较:
- 有条件的语句:
- IF-THEN:
(if) ? (then)
- IF-THEN-ELSE:
(if) ? (then) : (else)
- DEFAULT:
(value) ?: (defaultvalue)
- IF-THEN:
所有这些功能都可以组合和嵌套。
表达式基本对象
在上下文变量上评估OGNL表达式时,某些对象可用于表达式以获得更高的灵活性。将从#
符号开始引用这些对象(根据OGNL标准):
#ctx
:上下文对象。#vars:
上下文变量。#locale
:上下文区域设置。#httpServletRequest
:(仅限Web Contexts)HttpServletRequest
对象。#httpSession
:(仅限Web Contexts)HttpSession
对象。
Expression Utility对象
除了这些基本对象,Thymeleaf还将为我们提供一组实用程序对象,帮助我们在表达式中执行常见任务。
#dates
:java.util.Date
对象的实用方法:格式化,组件提取等。#calendars
:类似于#dates
,但java.util.Calendar
对象。#numbers
:用于格式化数字对象的实用方法。#strings
:String
对象的实用方法:contains,startsWith,prepending / appending等。#objects
:一般的对象的实用方法。#bools
:布尔评估的实用方法。#arrays
:数组的实用方法。#lists
:列表的实用方法。#sets
:集合的实用方法。#maps
:地图的实用方法。#aggregates
:用于在数组或集合上创建聚合的实用程序方法。#messages
:用于在变量表达式中获取外部化消息的实用程序方法,与使用#{...}语法获取它们的方式相同。#ids
:用于处理可能重复的id属性的实用程序方法(例如,作为迭代的结果)
此外,Thymeleaf还提供了内联、遍历()、设定属性值等相关语法。