freemarker宏

本文介绍如何在Freemarker模板中定义和使用宏来循环显示数据。具体包括宏的定义方法、参数传递及调用方式。通过实例展示了如何遍历存储在List中的Map数据,并展示每个Map项的特定字段。

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

<#--在freemarker页面中定义一个宏,写法如下-->
<#--这是页面上将要循环的一块代码,java中将结果集存在一个list中,list中对象为map,map中存放key以及对应的value-->
<#macro printTD map week weekStr>
     <li>
       <strong>${map[week].queryDate?string("MM-dd")} ${weekStr}</strong>
       <em><i>&yen;</i>${map[week].lowestPrice}</em>
       <input type="hidden" value="${map[week].orgAirportCode}|${map[week].desAirportCode}|${map[week].queryDate?string("yyyy-MM-dd")}|${parm.from}|${parm.to}|${parm.backDate}" />
<#--input隐藏域是为了页面中点击查询需要的,此处就不作过多解释-->
     </li>                  
</#macro>
<#--宏定义过之后,用法如下-->
<#assign Mon = "1", Tus = "2", Wes = "3", Thu = "4", Fri = "5", Sat = "6", Sun = "0">
                    <#assign MonStr = "周一", TusStr = "周二", WesStr = "周三", ThuStr = "周四", FriStr = "周五", SatStr = "周六", SunStr = "周日">
                    <#if weekList??>
                    <#list weekList as list>
                    <@printTD map=list week=Mon weekStr=MonStr />
  					<@printTD map=list week=Tus weekStr=TusStr />
					<@printTD map=list week=Wes weekStr=WesStr />
					<@printTD map=list week=Thu weekStr=ThuStr />
					<@printTD map=list week=Fri weekStr=FriStr />
					<@printTD map=list week=Sat weekStr=SatStr />
  					<@printTD map=list week=Sun weekStr=SunStr />
  					</#list>
  					</#if>
这是我在项目中写过的,好久没写了,都忘了,还是记下来比较好,技术好菜啊,咋办

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值