5

forEach ループを使用して、(行の) テーブル セルを作成したいのですが、各セルにはフォームの入力フィールドが含まれています。テーブル セルの数は常に固定 (12) です。それは実際には問題ありません。ただし、ここで課題が発生します。forEach は、Map(Long、Double) から取得する必要がある入力フィールドに、可変数のデフォルト値も入力する必要があります。

これは私の(単純化された)試みです:

<c:forEach var="number" begin="1" end="12" >
  <td>
      <input type="text" value="${requestScope.aMapWithData[number]}" /> 
  </td> 
</c:forEach>

しかし、これは入力フィールドにマップからの値を表示しません。問題は、「数値」が String 型であり、Long 型ではないことだと思います。スクリプトレットを使わなくても、この問題を解決できるのではないでしょうか。

4

2 に答える 2

7

見せたい数字は?各マップエントリのインデックス番号ですか?

<c:forEach items="${aMapWithData}" var="item" varStatus="status"> 
    <td> 
        <c:out value="${status.count}."/>  
        <input type="text" name="${item.key}" value="${item.value}" />  
    </td> 
</c:forEach> 
于 2012-08-09T13:57:32.320 に答える
0

これを試して

<c:forEach items="${aMapWithData}" var="mapEntry">
   <c:set var="mapKey" value="${mapEntry.key}"></c:set>
   <c:set var="mapValue" value="${mapEntry.value}"></c:set>
</c:forEach>
于 2012-08-09T13:57:22.033 に答える