如何使用JSTL检索会话范围对象列表?

时间:2017-05-16 09:43:20

标签: java session jstl el

假设我有一个静态类A,它有几个公共最终静态字段。

public class Foo{
    public static final String A_STRING = "a_string";
}

我还有一些课程会在会话中设置一个列表,如下所示:

List<Bar>barList = getBarList(); session.setAttribute(Foo.A_STRING, barList);

我想从jsp访问此列表并遍历每个Bar对象并输出每个Bar对象字段。

我想出了什么:

<c:forEach items="${sessionScope[Foo.A_STRING]}" var="element">
<tr>
<td>${element.id}</td>
td>${element.name}</td>
...
</tr></c:forEach>

这是行不通的,任何帮助将不胜感激,谢谢。

1 个答案:

答案 0 :(得分:0)

首先,将${sessionScope[Foo.A_STRING]}更改为${sessionScope.a_string}

其次,您的变量名称不一致(elementselement),更改其中任何一个以使其保持一致。

<c:forEach items="${sessionScope.a_string}" var="element">
    <tr>
        <td>${element.id}</td>
        <td>${element.name}</td>
    ...
    </tr>
</c:forEach>