3

データを含む 3 つのマップがあります。jspページのテーブルに表示するにはどうすればよいですか。

4

4 に答える 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

これを達成する方法は複数あります(そのうちの1つ)。

c:forEach次のようにJSP標準タグライブラリ(JSTL)タグを使用する。

 <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

または、それらを1つのマップに結合してから、繰り返します。

于 2012-07-16T07:51:32.570 に答える
0

3 つのマップを 1 つにマージします。

    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

この問題を解決するために、Apache Commons コレクションの MultiMap を使用しました。これは、jsp で送信するデータの DTO を作成することでも解決できます。

于 2012-07-18T04:28:13.820 に答える