Freemarker的基本使用
基本指令
1、FTL指令
1.1 assign指令
用于在模板中定义一个变量,可定义一个简单变量,定义对象,定义数组
<#--定义一个简单变量-->
<#assign msg="Hello Word!">
${msg}
<#--定义对象-->
<#assign user={"name":"李四","age":18,"address":"北京"} >
${user.name}---${user.age}---${user.address}
<#--定义数组-->
<#assign myList=["唐人街探案3","我和我的祖国"]>
${myList[0]}---${myList[1]}
1.2 include指令
此指令用于模板文件的嵌套
<#include "head.ftl">
1.3 if指令
if指令用于判断
<#if work==true>
努力工作
<#else>
上班摸鱼
</#if>
1.4 list指令
list指令用于循环,分两种形式
1、第一种
<#list 0..10 as num>
${num}
</#list>
2、第二种
<#list taskList as task>
${task_index +1}---${task.taskType}---${task.priority}---${task.executeTime} <br>
</#list>
2、内置函数
2.1 获取集合大小size
<#list taskList as task>
${task_index +1}---${task.taskType}---${task.priority}---${task.executeTime} <br>
</#list>
总共有${taskList?size}个任务
2.2 json字符串转对象
<#assign taskStr="{'taskType':1002,'priority':5}">
<#--${taskStr.taskType}-->
<#assign task=taskStr?eval>
${task.taskType}--${task.priority}
2.3 日期格式化
日期:${today?date} <br>
时间:${today?time} <br>
日期+时间:${today?datetime} <br>
自定义格式:${today?string('yyyy年-MM月-dd日')} <br>
3、空值处理
3.1 判断变量是否存在 “??”
<#if aaa??>
变量aaa存在 值为${aaa}
<#else>
变量aaa不存在
</#if>
3.2 变量不存在使用默认值 “!”
${aaa ! 'aaa不存在显示的默认值'}