1.自定义宏指令(macro):
<#macro m1>
我的名字叫做谢洋
</#macro>
引用宏指令:<@m1></@m1>
<#macro m2 a b >
姓名:${a}<br/>
年龄:${b}
</#macro>
<#macro table>
<table border="1" cellspacing="0" cellpadding="2">
<tr>
<td><#nested></td>
</tr>
</table>
</#macro>
<@table >xieyang</@table>
使用nested指令可以将参数写在标签之间,nested的方式等价于有参数的宏
<#assign name="xieyang">
<#import "hello.ftl" as b>
${b.name}
<@b.border "xieyang"/>
<#assign name="xiaojing" in b>
<#-- 通过这种方式可以直接改变b对应的模板文件中的某个变量的值-->
${date ?string("yyyy-MM-dd")}
${name}<#--若不存在的话就会报异常的-->
${name !}<#--若不存在的话就为空-->
${name ! "xieyang"}<#--若不存在的话就为xieyang-->
2.自定义带参数的宏:
<@m2 a="谢洋" b="23岁"></@m2>或者
<@m2 "谢洋" "23岁"></@m2>
3.nested指令的定义:
4.assign是给变量赋值:
5.import的使用
6.日期格式化问题:
7.对空值的处理,若空值不经过处理的话就会出现异常的