0

我在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 标签或任何自定义标签库?

4

1 回答 1

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 教程都可以告诉您如何做到这一点

于 2013-06-11T17:27:36.333 回答