本文共 863 字,大约阅读时间需要 2 分钟。
Freemarker宏定义的用发: 宏是在模板中使用macro指令定义 基本用法 : 宏是和某个变量关联的模板片断,以便在模板中通过用户定义指令使用该变量, 举例说明: <#macro greet name> 我的名字叫做${name}! </#macro> 以上为一个宏定义, greet 表示为宏定义的一个变量 name 表示该宏定义的一个参数 使用该宏定义: <@greet name="haha" /> 在使用参数的时候要注意下面两点: 1、 使用的参数一定要事先定义; 2、 定义的参数在使用的时候一定要进行赋值,除非在创建macro的时候给参数默认值; 3、 参数所能赋予的值不一定是字符串,也可以是其他类型,还可以是一个预运算表达式 4、 在使用的时候,对参数赋值顺序不确定,可随意 5、 参数是局部变量,只能在宏定义中有效 如果不满足上面任何一个,程序就会出错。 嵌套内容 在macro定义题中您可以嵌套内容,如: <#macro border> <table border=4> <tr><td><#nested></td></tr> </table> </#macro> 在使用的时候可以在开始标记和结束标记中填充内容: <@border>Hellow World</@border> 这样就会输出以及Hellow World,使用<#nested>可以嵌套指令可以在宏定义体中多次调用。 如果你使用了一个定义体中没有<#nested>嵌套指令的宏,而开始标记和结束标记中嵌套的又有内容,FreeMarker不会出现任何错误,但内容不会输出. 在ftl2中可以这样使用: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>freemark 测试</title> </head> <body> <#include "example1.ftl" /> <@greet name="sss"></@greet> </body> </html>转载地址:http://asobn.baihongyu.com/