我有一个k v的hashmap,并且有一些双键,例如:
123 foo
123 goo
345 ggg
567 kkk
我想用这个信息填充我的html表,即使有重复项,所以这就是我打印它的方式:
static
所以现在我如何填充表格,我尝试过这样的事情:
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>
但我不知道如何获得每个键的值......
我希望最终的res看起来像:
key val
123 kkk
123 fff
345 lll
答案 0 :(得分: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>
答案 1 :(得分:0)
你可以说你也想要这个值:
<c:forEach var="employeeHash" items="${employeeHash}" >
<td>${employeeSkills.key.id}</td>
<td>${employeeSkills.value}</td>
</c:forEach>
请看一下这个链接:Use <c:forEach> with HashMap
答案 2 :(得分:0)
这应该是评论,但我没有足够的地方。请不要投票。
我不是JSP专家,但是嵌套2 foreach应该可以做到这一点:
<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>