官网:https://freemarker.apache.org/docs/
①include指令
用于导入文件,它可以在模版中插入其他的静态文件,或者是freemarker模版。
被包含模板的输出格式是在include标签出现的位置插入的。
include被包含的文件和包含它的模板共享变量,就好像是被复制粘贴进去的一样。
②import指令
类似于java里的import,它导入文件,然后就可以在当前文件里使用被导入文件里的宏组件
import也可以被引入多次, 但是多次引入和单次引入的效果是一样的
<#import path as hash>
import是将标签中指定的模板中的已定义的宏、函数等导入到当前模板中,并在当前文档中指定一个变量作为该模板命名空间,以便当前文档引用。
与include的区别是该指令不会将import指定的模板内容渲染到引用的模板的输出中
<#import "lib/my_test.ftl" as com>
上面例子它会为lib/my_test.ftl创建一个新的哈希表变量,就是空的命名空间com,my_test.ftl这个模板的所有变量放置在com的Map对象中
③assign指令
为该模板页面创建或替换一个顶层变量
④macro
创建一个宏变量、宏变量存储模板片段(称为宏定义体),可用作用户定义的指令
使用@符号调用
⑤<#if obj??>
判断obj??是否为null,如果不为null时才可以执行if里面的内容
<#if obj?? && obj != "">
obj??是判断obj不为null、并不能判断obj不为空
⑥<@XXXX>
调用用户定义的指令,例如宏。参数的含义以及支持和必需参数的集合取决于具体的用户定义指令
⑦<#list sequence as item>
列出序列(或集合)的最简单形式
objs包含 ['a', 'b', 'c']序列
<#list objs as obj> $ {obj}</#list>