Freemarker宏定义的用发:
宏是在模板中使用macro指令定义
基本用法 :
宏是和某个变量关联的模板片断,以便在模板中通过用户定义指令使用该变量,
举例说明:
<#macro greet name>
我的名字叫做${name}!
</#macro>
以上为一个宏定义,
greet 表示为宏定义的一个变量
name 表示该宏定义的一个参数
使用该宏定义:
<@greet name="haha" />
在使用参数的时候要注意下面两点:
1、 使用的参数一定要事先定义;
2、 定义的参数在使用的时候一定要进行赋值,除非在创建macro的时候给参数默认值;
3、 参数所能赋予的值不一定是字符串,也可以是其他类型,还可以是一个预运算表达式
4、 在使用的时候,对参数赋值顺序不确定,可随意
5、 参数是局部变量,只能在宏定义中有效
如果不满足上面任何一个,程序就会出错。
嵌套内容
在macro定义题中您可以嵌套内容,如:
宏是在模板中使用macro指令定义
基本用法 :
宏是和某个变量关联的模板片断,以便在模板中通过用户定义指令使用该变量,
举例说明:
<#macro greet name>
我的名字叫做${name}!
</#macro>
以上为一个宏定义,
greet 表示为宏定义的一个变量
name 表示该宏定义的一个参数
使用该宏定义:
<@greet name="haha" />
在使用参数的时候要注意下面两点:
1、 使用的参数一定要事先定义;
2、 定义的参数在使用的时候一定要进行赋值,除非在创建macro的时候给参数默认值;
3、 参数所能赋予的值不一定是字符串,也可以是其他类型,还可以是一个预运算表达式
4、 在使用的时候,对参数赋值顺序不确定,可随意
5、 参数是局部变量,只能在宏定义中有效
如果不满足上面任何一个,程序就会出错。
嵌套内容
在macro定义题中您可以嵌套内容,如: