2013-06-11 53 views
0

我在jsp中使用了hashmap。在jsp中迭代Hashmap並在動態生成表中顯示數據

我想打印hashmap包含在表中的所有值。該表應該動態生成,在3列之後,下一個值應顯示在下一行等等。使用jstl或任何標記庫。

因此,如果散列映射包含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> 

如果散列映射包含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標記或任何自定義標記庫?

回答

0

只需在你的JSP

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

在這裏,我assuing地圖是<String,String>添加下面的Java代碼,請輸入相關類地圖和迭代器。任何JSP教程都可以告訴你如何做到這一點

相關問題