Java 如何访问JSTL中包含列表的映射的内部元素?

Java 如何访问JSTL中包含列表的映射的内部元素?,java,jsp,jstl,Java,Jsp,Jstl,我在请求范围中有一个MyBean1列表(它们的名称为tests)MyBean1有一个类型为Map的参数,可通过方法调用getMap()访问。这张地图的键是从1到6的数字MyBean2有一个返回字符串的方法getValue() 我需要将每个列表的值放在同一个表单元格中 我写了这样的东西: <c:forEach var="test" items="${tests}"> // some stuff <td><c:forEach var="bean" ite

我在请求范围中有一个
MyBean1
列表(它们的名称为
tests
MyBean1
有一个类型为
Map
的参数,可通过方法调用
getMap()
访问。这张地图的键是从1到6的数字
MyBean2
有一个返回字符串的方法
getValue()

我需要将每个列表的值放在同一个表单元格中

我写了这样的东西:

<c:forEach var="test" items="${tests}">
    // some stuff
    <td><c:forEach var="bean" items="S{test.map[1]}">${bean.value} </c:forEach></td>
    // repeat for keys to 2 to 6
</c:forEach>

//一些东西
${bean.value}
//对键2至6重复上述步骤
但这似乎不起作用。我没有得到键1处地图中包含的列表的
字段

我做错什么了吗

我使用SpringMVC作为MVC框架,并且我能够从
test
变量中获取其他字段

谢谢。

请参阅,以了解其不起作用的原因

如果您的映射是排序映射或LinkedHashMap,则迭代其条目可能会起作用:

<td><c:forEach var="entry" items="${test.map}">
        <c:forEach var="bean" items="${entry.value}">${bean.value}</c:forEach>
    </c:forEach></td>

${bean.value}
请参阅,以了解其不起作用的原因

如果您的映射是排序映射或LinkedHashMap,则迭代其条目可能会起作用:

<td><c:forEach var="entry" items="${test.map}">
        <c:forEach var="bean" items="${entry.value}">${bean.value}</c:forEach>
    </c:forEach></td>

${bean.value}

EL将用
${}
符号而不是
S{}
书写的注释副本。EL将用
${}
符号而不是
S{}
书写的注释副本。谢谢。我把钥匙换成了Long,很好,谢谢。我把钥匙换成了Long,没问题。