如何在java中以表格格式显示linkedhashmap类型列表

时间:2015-02-02 10:36:41

标签: java list jsp

我有一个列表,其中包含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列中显示第二列值。

1 个答案:

答案 0 :(得分:1)

正确的方法 迭代Map即可获得keyvalue。因此,将其重复为,

<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>

将以表格形式显示所需结果