三、freemarker数据、模版指令

数据类型

1、         直接指定值(字符串、数值、布尔值、集合、Map对象)

2、         字符串:直接指定字符串使用单引号、双引号,字符中间可以使用转义符“”,如果字符内有大量特殊字符,直接在引号的前面加上“r”,则字符串内所有字符都讲直接输出。

3、         数值:可以直接输出,不需要引号,freemarker不支持科学计算

4、         布尔值:直接使用false、true

5、         集合:中括号包括,集合元素之间用逗号。使用数字范围也可以表示一个数字集合,如1.5相当于[1,2,4,5,6]

6、         Map对象:用花括号包括,map中key-value之间用冒号分离,多个组   之间用逗号分隔,注意Key必须是字符串。

常用模版中的指令

1、 if的使用

<#if info="hello">
${info}
</#if>

2、 if多个条件比较:>, <, >=, <= (lt, lte, gt, gte) 

<#if Random gt 90>
优秀成绩:${Random}
<#elseif (age>60)
及格:${Random}
<#else>
不及格:${Random}
</#if>

3、 集合指令取Object:mav. addObject ("users", users);

<#list users as user>  
        测试..............username: ${user. username} 
        测试..............password: ${user. password}  
</#list>

4、 引入外部ftl

<#include "a2.ftl">
<#include "a3.txt">

6、 宏指令(如何根据预定义的规则转换成对应的输出)

定义宏指令
<#macro m1>
    <#list users as user>  
        测试..............username : ${user.username} 
        测试..............password : ${user.password}  
    </#list> 
</#macro>
调用宏指令(可调用多个)<@m1 />

7、 带参数的宏

<#macro m1 users>
    <#list users as user>  
        测试..............username : ${user.username} 
        测试..............password: ${user. password}  
    </#list> 
</#macro>
调用宏指令(可调用多个)<@m1 users= users />

8、 nested指令

8、命名空间

9、时间对象

10、输出变量值

11、顶层变量

12、集合元素

13Map元素

14、字符串操作

15、集合连接

16Map连接

17、算术连接

18、比较连接

19、逻辑连接

20、内建函数

 

。。。。。。。。。。。。。。。。正在更新中(四、模版指令操作)!

原文地址:https://www.cnblogs.com/xxt19970908/p/5594052.html