我的问题是这样的:
我有两个清单:
list ups = {up1,up2} list downs = {down1,down2,down3}
我需要一张这样的表:
ups downs
no name no name
${up1.no} ${up1.name} ${down1.no} ${down1.name}
${up2.no} ${up2.name} ${down2.no} ${down2.name}
${down3.no} ${down3.name}
我的代码如下:
<#list downs as down>
<tr>
<td>ups?</td>
<td>${down.no}</td>
<td>${down.name}</td>
</tr>
</#list>
答案 0 :(得分:2)
我假设两个列表的大小可以不同。这使事情变得复杂,但是像这样:
<#assign maxSize = (downs?size < ups?size)?then(ups?size, downs?size)>
<#list 0 ..< maxSize as i>
<td>${(ups[i].no)!}</td>
<td>${(ups[i].name)!}</td>
<td>${(downs[i].no)!}</td>
<td>${(downs[i].name)!}</td>
</#list>
当一个列表中没有更多项目时,需要(...)!
来抑制错误,但另一个列表中仍有另外一个项目。
(2.3.28中不需要maxSize
计算,您可以在2.3.28中编写0 ..< [ups?size, downs?size]?max
。)