我有三张包含数据的地图。如何在 jsp 页面的表格中显示它。
问问题
1108 次
4 回答
1
使用迭代每个地图<c:forEach>
<table>
<c:forEach items="#{map1}" var="item1">
<tr>
<td><c:out value="#{item1.key}" /></td>
<td><c:out value="#{item1.value}" </td>
</tr>
</c:forEach>
于 2012-07-16T06:44:48.817 回答
0
为了解决这个问题,我使用了 apache commons 集合中的 MultiMap。如果我为要在 jsp 上发送的数据创建 DTO,这也可以解决。
于 2012-07-18T04:28:13.820 回答
0
将三个 Map 合并为一个。
Map<String, Integer> map1 = new HashMap<String, Integer>();
Map<String, Integer> map2 = new HashMap<String, Integer>();
Map<String, Integer> map3 = new HashMap<String, Integer>();
Map<String, Integer> combinedMap = new HashMap<String, Integer>();
combinedMap.putAll(map1);
combinedMap.putAll(map2);
combinedMap.putAll(map3);
然后迭代combinedMap
。
<c:forEach items="#{combinedMap}" var="item1">
于 2012-07-16T07:35:55.537 回答
0
有不止一种方法可以做到这一点(其中之一):
通过使用 JSP 标准标记库 (JSTL)c:forEach
标记如下:
<c:set value="${sessionScope.sessionObject.map1}" var="map1">
<c:set value="${sessionScope.sessionObject.map1}" var="map2">
<c:set value="${sessionScope.sessionObject.map1}" var="map3">
<c:forEach items="${map1}" var="item1">
<tr>
<td><c:out value="${item1.key}" /></td>
<td><c:out value="${item1.value}" </td>
</tr>
</c:forEach>
<c:forEach items="${map2}" var="item1"> .... etc
或者将它们加入一张地图,然后进行迭代。
于 2012-07-16T07:51:32.570 回答