在jsp中迭代Hashmap并在动态生成的表中显示数据

时间:2013-06-11 17:11:50

标签: hashmap tr

我在jsp中有hashmap。

我想打印hashmap在表格中包含的所有值。该表应该动态生成,在3列之后,下一行的值应显示在下一行中,依此类推。使用jstl或任何标记库。

因此,如果hashmap包含6个值,则生成的HTML应为:

<table>
     <tr>
        <td> val1 </td> 
        <td> val2 </td>
        <td> val3 </td>
     </tr>
     <tr>
        <td> val1 </td> 
        <td> val2 </td>
        <td> val3 </td>
     </tr>

</table>

如果hashmap包含8个值,则生成的HTML应为:

<table>
     <tr>
        <td> val1 </td> 
        <td> val2 </td>
        <td> val3 </td>
     </tr>
     <tr>
        <td> val4 </td> 
        <td> val5 </td>
        <td> val6 </td>
     </tr>
    <tr>
        <td> val7 </td> 
        <td> val8 </td>
     </tr>

</table>

因此,根据值的数量,应将行数添加到表中。我如何在jsp中使用jstl标签或任何自定义标签库?

1 个答案:

答案 0 :(得分:0)

只需在jsp

中添加以下java代码即可
  <table>
    <%
     int count=0;
      Iterator itr = yourMap.iterator();
      while(itr.hasNext()) {
      String key = itr.next();
      if(count  ==0) {
  %> 
     <tr> 
<% }  %>
   <td><% =yourMap.get(key) %></td>
      <%
          count ++;
   if(count ==3 ) {
      count =0;
   %>
     </tr>
    <%>
}
</table>

这里我假设您的地图是<String,String>,请导入地图和迭代器的相关类。任何JSP教程都可以告诉你如何做到这一点