自定义指令可以使用macro指令来定义
若不想在模版中定义
可以在java语言实现指令,
使用freemarker.template.TemplateDirectivceModel类来扩展
使用宏作为自定义指令
参数:
宏名称的后面位置定义变量
<@greet person="Fred">
因为他和<@greet person="Fred" color="black">是一样的
嵌套内容:
<#if ...> nested content</if>
宏和循环变量
模版中定义变量:
模版可以使用数据模型中的变量,模版本身也可以是变量
模版中定义的变量比数据模型中的同名参数有更高的优先级
在模版中三种类型变量
简单变量: 用assign命令或marco命令
局部变量:只在宏内可见,local命令可替换局部变量
循环变量:只在指令开始和结束标记内有效
数据模型中隐藏一个同名变量:
可以使用特殊变量globals