您的位置:首页 > 其它

freemarker数据类型

2016-03-06 21:19 316 查看
原文地址

freemarker的数据类型主要包括下面几类:

字符串类型

定义字符串可以使用双引号和单引号,例如:

<#assign temp = "some text" />

或者

<#assign temp = 'some text' />

这两种形式是相等的。字符串中可以使用转义字符"\"。如果字符串内有大量的特殊字符,则可以在引号的前面加上一个字母r,则字符串内的所有字符都将直接输出。例如:"It's \"quoted\"" 或者 r"C:\raw\string"

数字类型

输入不带引号的数字就可以直接指定一个数字,必须使用点作为小数的分隔符而不能是其他的分组分隔符。可以使用-或+来表明符号(+是多余的)。科学记数法暂不支持使用(1E3就是错误的),而且也不能在小数点之前不写0(.5也是错误的)。

哈希表类型

键和值成对出现并以冒号分隔,最外面使用花括号。看这个例子:

<#assign temp = {"name":"green mouse", "price":150} />

注意到名字和值都是表达式,但是用来检索的名字就必须是字符串类型的。

序列类型

指定一个序列,使用逗号来分隔其中的每个子变量,然后把整个列表放到方括号中。例如:

<#assign nums=[1,2,3,4,5,77,8,99]/>

使用list指令将序列输出,如下所示:

<#list nums as num>

${num}

</#list>

还可以采用数字范围定义了一个连续的序列,例如:

<#assign nums=12..99/>

这种方式定义的序列的内容是12到99。总之,使用数字范围也可以表示一个数字集合,如1..5等同于集合[1,2, 3, 4, 5];同样也可以用5..1来表示[5, 4, 3, 2, 1]。

时间类型

FreeMarker支持date、time、datetime三种类型,这三种类型的值无法直接指定,通常需要借助字符串的date、time、datetime三个内建函数进行转换才可以:

<#assign test1 = "2009-01-22"?date("yyyy-MM-dd") />;

<#assign test2 ="16:34:43"?time("HH:mm:ss") />

<#assign test2 = "2009-01-22 17:23:45"?datetime("yyyy-MM-dd HH:mm:ss") />

布尔类型

直接使用true或false,不使用引号。例如:<#assign temp = true />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: