簡體   English   中英

如何使用JSTL forEach循環的索引變量來訪問映射條目?

[英]How to use the index variable of a JSTL forEach loop to access a map entry?

使用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>

但這並未顯示輸入字段中Map的任何值。 我想問題是“數字”是String類型而不是Long。 所以我想知道如果不使用scriptlet就可以解決這個問題。

你想要展示多少個? 是每個地圖條目的索引號嗎?

<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> 

試試這個

<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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM