2016-02-08 24 views
0

我有KV一個HashMap,並且有一些DUP鍵存在,如:如何用hashmap k,v填充html表格?

123富

123咕

345 GGG

567 KKK

我想用這個信息填充我的html表格,即使有重複,所以這是我如何才能打印它:

for (Map.Entry<String, List<String>> entry : total.entrySet()) { 
    for (String s : entry.getValue()) { 
    System.out.println(entry.getKey() + " " + s); 
    } 
} 

所以現在我怎麼能填充表,我想是這樣的:

<table id="ptable" border="1"> 

      <tr> 
        <td style="text-align: center;">ID</td> 
        <td style="text-align: center;">Month</td> 
      </tr> 
</table> 

然後:

< c:forEach var="employeeHash" items="${employeeHash}" > 
    <td>${employeeSkills.key.id}</td> 
</c:forEach> 

但我不知道怎麼去爲每個鍵的值。 ..

我想最終的資源的樣子:

關鍵VAL

123 KKK

123 FFF

345 LLL

+0

很抱歉,但我不明白的問題。 HashMap並不打算接受重複的鍵,因此將'HashMap '轉換爲'HashMap >'確實是一個好開始。但我不明白阻止點在哪裏。 –

+0

阻止點是如何在jsp文件中對hashmap進行迭代並將其打印到html。 @ArnaudDenoyelle – Joe

+0

此鏈接對您有幫助嗎? http://stackoverflow.com/questions/1835683/how-to-loop-through-a-hashmap-in-jsp你實際上需要嵌套2'c:forEach':一個在'map.entrySet'上,另一個在'entry.getValue'(這是一個列表) –

回答

0

假設你employeeObjMap具有鍵和值。以下代碼應該工作。

<table> 
    <TH>Key</th> 
    <TH>Value</th> 
    <c:forEach items="${employeeObjMap }" var="current"> 
    <tr> 
     <td><c:out value="${current.key}" /><td> 
     <td><c:out value="${current.value}" /><td> 
    </tr> 
    </c:forEach> 
</table> 
+0

請注意值是一個可能有幾個字符串的列表... – Joe

+0

我需要使用request.getSession將我的散列圖發送到會話。setAttribute(myHashMap)然後我就可以訪問它了?因爲我現在不能 – Joe

+0

@Joe你會得到你會發送的。 –

0

你可以說你也想要的值,這樣的:

<c:forEach var="employeeHash" items="${employeeHash}" > 
    <td>${employeeSkills.key.id}</td> 
    <td>${employeeSkills.value}</td> 
</c:forEach> 

看看這個鏈接:Use <c:forEach> with HashMap

+0

雖然這可能會回答這個問題, [這將是更可取的](http://meta.stackoverflow.com/q/8259)在這裏包括 的答案的基本部分,並提供鏈接供參考。 – Panda

+0

我是否需要使用request.getSession.setAttribute(myHashMap)將我的散列圖發送到會話,然後我才能夠訪問它?因爲現在我不能 – Joe

0

這應該是一個評論,但我沒有足夠的地點。請不要投票。

我不是一個JSP專家,但嵌套的foreach 2應該做的伎倆:

<c:forEach var="entry" items="${map}" > 
    <!-- entry.key is employee.key --> 
    <!-- entry.value is employee.skills --> 
    <c:forEach var="skillId" items="${entry.value}" > 
    <tr> 
     <td>${entry.key}</td> 
     <td>${skillId}</td> 
    </tr> 
    </c:forEach> 
</c:forEach>