我想在Velocity模板中创建一个表,它从Map<String, List<String>>
获取数据。我尝试使用嵌套的foreach
循环,但由于某种原因它不起作用(即使数据存在也是空表)。
将数据添加到我的模型
model.put("downloaded", holder.getDownloadedFiles());
这会添加如上所述的地图。
我的模板:
<table >
<tr>
<th style="width:150px">Subsystem</th>
<th style="width:500px">Filename</th>
</tr>
#foreach( $system in $downloaded.keySet)
#foreach($file in ${downloaded.get($system)})
<tr>
#if($foreach.count == 1) ##do only once
<td rowspan=$downloaded.get($system).size()>$system</td>
#end
<td>$file</td>
</tr>
#end
#end
</table>
现在我很高兴,有一个这样的表(键应该是多个列上的1个单元格):
key value1
value2
value3
value4
key2 value1
value2
value3
value4
我是否正确访问变量并正确调用方法?
答案 0 :(得分:2)
而不是
#foreach( $system in $downloaded.keySet)
对于外循环,你应该使用
#foreach( $system in $downloaded.keySet())