JSTL Hashset的问题

时间:2010-06-23 20:34:38

标签: java jstl

以下代码无效

<c:forEach var="row" varStatus="rowCount" begin="1" end="10">

 <c:set var="entry" scope="request" value="${session.entry.mileStones[rowCount.count]}"/>
 or

<c:set var="entry" scope="request" value="${entry.mileStones[rowCount.count]}"/>

</c:forEach>

其中,Entry.getMileStones ====&gt; HashSet在会话范围的操作类中正确设置。

getSession().setAttribute("entry", entry);

任何想法..

2 个答案:

答案 0 :(得分:2)

我在提供的示例中看到了一些问题:

  • 据我所知,JSTL和EL语法不适用于集合,只适用于地图。这是有道理的,因为没有为集合中的键检索值的概念(因为值键)。根据您提供的示例,您可能实际上希望数据结构可以是列表或地图。

  • 看起来您正在尝试根据相同的值设置范围值(条目)。即使这会奏效,我也怀疑这是你想要做的。考虑第二个变量的不同变量名称。

  • 如果不提供迭代的集合,则无法使用foreach进行迭代。必须有带foreach标记的items属性。

答案 1 :(得分:0)

您正在使用不同的范围。将范围更改为会话。