使用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就可以解决这个问题。
答案 0 :(得分: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>
答案 1 :(得分: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>