FreeMaker

一 常用指令
1. assign: 自定义变量
2. if else :流程判断指令
3. list: 变量sequence
4. marco: 宏指令(自定义方法)
5. import: 引入命名空间
6. include: 嵌入文件指令

二 指令详解
【1. assign 指令】: 自定义变量
1.1 自定义变量:
<#assign hw = "hello,world"/>
1.2 调用:用$ 调用
hw = ${hw}

【2. if 指令】: 判断语句, if 相关的指令中不需要用 $ 号,直接可以从map 中获取元素
2.1 if else 组合:
<#if status == 0>
status is 0
<#else>
status is not 0

2.2 if elseif else 组合:
<#if status ==0 >
status = 0
<#elseif status ==1>
status = 1
<#else>
status != 0 && status !=1

【3. list 指令】:list可以遍历sequence 类型的数据, 即 数组, List, Set
1.1 foreach:
<#list citys as city>
${city_index} --> ${city}

3.2 获取遍历索引: 变量名_index
<#list names as name>
${name_index} --> ${name}

【4. macro 宏指令】, 类似于自定义方法
1. 定义宏指令(定义方法)
<#macro sayHello name1 name2>
hello, ${name1} and ${name2}

2. 调用宏指令(调用方法)
<@sayHello name1="zhangsan" name2="lisi"/>

3. nested 指令: 代替调用宏指令时标签对之间包裹的内容
    <#macro hw>
        hello,<#nested>
    
    <@hw>zhangsan,lisi,wangwu,zhaoliu

【5. import 指令】: 引入命名空间:
1. 引入命名空间:<#import "templateUtil.ftl" as util />
2. 调用响应方法:<@util.printEmp employee/>
3. 调用变量:${util.fileName}
修改变量:<#assign fileName = "command.ftl" in util />
${util.fileName}

【6. include 】嵌入文件:
1. 执行步骤:
1. 合并文件: 将被嵌入的文件的内容全部导入当前 文件
2. 解析: 然后用freemarker 语法解析嵌入的文件片段
2. 示例:以下是文件 hello.ftl 的文本内容:
<#include "include.txt" />

三 测试结果:
[html] view plain copy
二 指令详解

【1. assign 指令】: 自定义变量
1.1 自定义变量:
<#assign hw = "hello,world"/>
1.2 调用:用$ 调用
hw = ${hw}

【2. if 指令】: 判断语句, if 相关的指令中不需要用 $ 号,直接可以从map 中获取元素
2.1 if else 组合:
<#if status == 0>
status is 0
<#else>
status is not 0

2.2 if elseif else 组合:
<#if status ==0 >
status = 0
<#elseif status ==1>
status = 1
<#else>
status != 0 && status !=1

【3. list 指令】:list可以遍历sequence 类型的数据, 即 数组, List, Set
1.1 foreach:
<#list citys as city>
${city_index} --> ${city}

3.2 获取遍历索引: 变量名_index
<#list names as name>
${name_index} --> ${name}

【4. macro 宏指令】, 类似于自定义方法
1. 定义宏指令(定义方法)
<#macro sayHello name1 name2>
hello, ${name1} and ${name2}

2. 调用宏指令(调用方法)
<@sayHello name1="zhangsan" name2="lisi"/>

3. nested 指令: 代替调用宏指令时标签对之间包裹的内容  
    <#macro hw>  
        hello,<#nested>  
      
    <@hw>zhangsan,lisi,wangwu,zhaoliu  

【5. import 指令】: 引入命名空间:
1. 引入命名空间:<#import "templateUtil.ftl" as util />
2. 调用响应方法:<@util.printEmp employee/>
3. 调用变量:${util.fileName}
修改变量:<#assign fileName = "command.ftl" in util />
${util.fileName}

【6. include 】嵌入文件:
1. 执行步骤:
1. 合并文件: 将被嵌入的文件的内容全部导入当前 文件
2. 解析: 然后用freemarker 语法解析嵌入的文件片段
2. 示例:以下是文件 hello.ftl 的文本内容:
<#include "include.txt" />

你可能感兴趣的:(FreeMaker)