`

freemarker 自定义的标签

 
阅读更多

FreeMarker定义自己的标签

2010-07-02 20:13:59| 分类: FreeMarker 2.3.1 | 标签: |字号 订阅

1.基本定义

宏定义:

例1:

使用宏定义一个变量:

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

使用该变量:

<@greet></@greet> 或者 <@greet />

输出:

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

因为<#macro ...>和</#macro>之间可以包含插入式(${...})和FTL标签(例如<#if...>...</#if>等),因此宏定义还可以实现更多的功能。

2.带参数的定义

扩充第一个例子如下:

例2:

定义宏:

 

<#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>     

 

例3:

定义宏:

 

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

 

使用上面定义:

 

<@greet person="Fred" color="black"/>  

 

输出:

<font size="+2" color="black">Hello Fred!</font>

 

如果使用了宏中未定义的参数或者使用时未将参数值传入,将会报错。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics