1、字符串
(1) 使用单引号或者双引号限定;
(2) 如果包含特殊字符,需要转义;
例如下面的例子:
${"It's \"quoted\" and this is a backslash: \\”} 输出结果是:It's "quoted" and this is a backslash: \
支持的转义序列:
\" 双引号 \' 单引号 \\ 反斜杠 \n 换行 \r Return \t Tab \b Backspace
\l < \g > \a & \{ { \xCode 4位16进制Unicode代码
(3) raw字符串,被认为是纯文本,其中的\和{等不具有特殊含义,该类字符串在引号前面加r。
${r"${foo}"}
${r"C:\foo\bar"}
输出的结果是:
${foo}
C:\foo\bar
2、数字
直接输入,不需要引号;
精度数字使用“.”分隔,不能使用分组符号;
目前版本不支持科学计数法;
不能省略小数点前面的0;
3、布尔值
true和false,不使用引号。
4、序列
由逗号分隔的子变量列表,由方括号限定。
例如:
<#list ["winter", "spring", "summer", "autumn"] as x>
${x}
</#list>
序列内置的计数器: xxx_index
用途:显示序号
<#list employees as e>
${e_index}. ${e.name}
</#list>
5、散列
由逗号分隔的键/值列表,由大括号限定,键和值之间用冒号分隔。
例如:{"name": "green mouse", "price": 150}
获取变量:
1、顶层变量:${variable},变量名只能是字母、数字、下划线、$、@和#的组合,且不能以数字开头。
2、获取散列数据:可以使用点语法或方括号语法。
(root)
|
+- book
| |
| +- title = "Breeding green mouses"
| |
| +- author
| |
| +- name = "Julia Smith"
下面都是等价的:
book.author.name
book["author"] .name
book.author.["name"]
book["author"] ["name"]
3、获取序列数据:和散列的方括号语法语法一样,只是方括号中的表达式值必须是数字;注意:第一个项目的索引是0。
序列片断:使用[startIndex..endIndex]语法,从序列中获得序列片断;startIndex和endIndex是结果为数字的表达式.