我有一个列表,其中包含LinkedHashMap类型的数据: -
LinkedHashMap<Date,Double> map21 = new LinkedHashMap<Date,Double>();
List<LinkedHashMap<Date,Double>>l=new ArrayList<LinkedHashMap<Date,Double>>();
{
rs.absolute(43);
map20.put(rs.getDate(1),rs.getDouble(2));
l.add(map20);
rs.absolute(45);
map21.put(rs.getDate(1),rs.getDouble(2));
l.add(map21);
l.addAll(l);
}
return l
我在jsp中显示为:
<table width = "300px" border = "1" cellspacing="2">
<tr>
<th>logtime</th>
<th>beam_current</th>
</tr>
<c:forEach var="row" items="${ref.reference()}">
<tr>
<c:forEach var="column" items="${row}">
<td>
${column}
</td>
</c:forEach>
</tr>
</c:forEach>
</table>
现在,执行JSP页面后显示的输出是一个包含两列的表,但两列的值都填充或显示在第一列中,即logtime。如何在第一列中显示logtime值,在beam_current列中显示第二列值。
答案 0 :(得分:1)
正确的方法
迭代Map
即可获得key
和value
。因此,将其重复为,
<table width = "300px" border = "1" cellspacing="2">
<tr>
<th>logtime</th>
<th>beam_current</th>
</tr>
<c:forEach var="row" items="${ref.reference()}">
<tr>
<c:forEach var="column" items="${row}">
<td>
${column.key}
</td>
<td>
${column.value}
</td>
</c:forEach>
</tr>
</c:forEach>
</table>
将以表格形式显示所需结果