Freemarker 宏

宏是在模板中使用 macro指令定义。

宏是和某个变量关联的模板片断,以便在模板中通过用户定义指令使用该变量

 

举个例子来说明宏是如何使用的:

<#macro greet>

    <font size="+2">Hello Joe!</font>

</#macro>

作为用户定义指令使用宏变量时,使用@替代FTL标记中的#

<@greet></@greet>

输出结果是:<font size="+2">Hello Joe!</font>

 

带参数的宏变量:macro指令中可以在宏变量之后定义参数

<#macro greet person>

    <font size="+2">Hello ${person}!</font>

</#macro>

可以这样使用这个宏变量:

<@greet person="Fred"/> and <@greet person="Batman"/>

输出结果是:

<font size="+2">Hello Fred!</font> and <font size="+2">Hello Batman!</font>

 

宏可以有多参数,下面是一个例子:

<#macro greet person color>

    <font size="+2" color="${color}">Hello ${person}!</font>

</#macro>

可以这样使用该宏变量:

<@greet person="Fred" color="black"/>     其中参数的次序是无关的

 

可以在定义参数时指定缺省值,如:

<#macro greet person color="black">

<font size="+2" color="${color}">Hello ${person}!</font>

</#macro>

 


嵌套内容:

用户定义指令之间有嵌套内容时,可以使用<#nested>指令执行指令开始和结束标记之间的模板片断

<#macro border>

    <table border=4 cellspacing=0 cellpadding=4><tr><td>

        <#nested>

        </tr></td>

    </table>

</#macro>

这样使用该宏变量:

<@border>The bordered text</@border>

输出结果:

<table border=4 cellspacing=0 cellpadding=4><tr><td>

    The bordered text

    </tr></td>

</table>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值