Freemarker 3种循环模式

14 篇文章 0 订阅


)

1. map循环

举例:

<#if vo.urlMap??>
	<#list vo.urlMap?keys as key>
		<li>
			<a href="${vo.urlMap[key]!''}">${key!''}</a>
		</li>
	</#list>
</#if>
  • vo.urlMap?keys: 将map中的key循环(类似keySet迭代器)
  • 循环中通过map[key]来取的key对应的value
  • 如果需要当前循环下标, 使用循环对象_index取即可, 如: key_index

2. list循环

举例:

<#list vo.valueList as value>
	<td>${value!''}</td>
</#list>

3. 自定义次数循环

举例:

<!-- 动态长度  -->
<#list 0..(nums?number)!0 as i>
	<td>${vo.valueList[i]!''}</td>
</#list>

<!-- 固定长度  -->
<#list 1..100 as i>
	<td>${vo.valueList[i]!''}</td>
</#list>

用于配合取出list中的元素(list长度有时少于预期, 所以自定义次数)

需要注意的是, 由于循环次数和list长度解耦了, 要小心数组越界,
(可以通过默认值的方式避免)
如: ${(vo.valueList[i])!'无'}
将前面整个用括号括起来会自动判定每一步是否为null

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值