Freemarker常用标签的使用(二)

本文详细介绍Freemarker模板引擎的使用方法,包括list、break指令的运用,import指令的详解,以及宏的基本用法。通过实例展示了如何利用这些功能进行高效的数据展示和模板定制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 list、break指令

<#list sequence as item>
  ...
</#list>

tem_index:当前变量的索引值.
item_has_next:是否存在下一个对象.

<#list ["星期一","星期二","星期三","星期四","星期五","星期六"] as x>
${x_index + 1}.${x}
<#if x_has_next>,</#if>
<#if x="星期四"><#break></#if>
</#list>

输出结果:
1.星期一,
2.星期二,
3.星期三,
4.兴趣四,


2 import指令
<#import path as mapObject>
path:指定要被导入的模板文件.
mapObject:是一个Map对象.
意思:将path路径中的变量都放在mapObject中.
例子:<#import "/lib/common.ftl" as com>


3 宏的基本用法
例如:

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


使用时:
<@greet></@greet>
如果没有体内容也可以用
<@greet />
可以在宏定义之后定义参数,宏参数是局部变量,只在宏定义中有效。如:

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


使用时:
<@greet person="emma"> and <@greet person="LEO">
输出为:
<font size="+2"> Hello emma!</font>
<font size="+2"> Hello LEO!</font>
注意:宏的参数是FTL表达式,所以,person=emma和上面的例子中具有不同的意义,这意味着将变量emma的值传给person,这个值可能是任意一种数据类型,甚至是一个复杂的表达式。
宏可以有多个参数,使用时参数的次序是无关的,但是只能使用宏中定义的参数,并且对所有参数赋值。如:
<#macro greet person color>
<font size="+2" color="${color}"> Hello ${person}!</font>
</#macro>
使用时:
<@greet color="black" person="emma" />正确
<@greet person="emma" />错误,color没有赋值,此时,如果在定义宏时为color定义缺省值<#macro greet person color="black">这样的话,这个使用方法就是正确的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值