如何使用JSTL forEach循环的索引变量来访问映射条目?

mvk*_*mvk 5 java foreach jsp jstl

使用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>
Run Code Online (Sandbox Code Playgroud)

但这并未显示输入字段中Map的任何值.我想问题是"数字"是String类型而不是Long.所以我想知道如果不使用scriptlet就可以解决这个问题.

kap*_*and 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> 
Run Code Online (Sandbox Code Playgroud)


vik*_*kas 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>
Run Code Online (Sandbox Code Playgroud)