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

Java 如何使用JSTL检索会话范围的对象列表?,java,session,jstl,el,Java,Session,Jstl,El,假设我有一个静态类a,它有几个公共的最终静态字段 public class Foo{ public static final String A_STRING = "a_string"; } 我还有一些课程,会在课程中列出一个列表,如下所示: ListbarList=getBarList(); session.setAttribute(Foo.A_字符串,barList); 我想从jsp访问这个列表,遍历每个Bar对象并输出每个Bar对象字段 我的想法是: <c:forEach

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

public class Foo{
    public static final String A_STRING = "a_string";
}
我还有一些课程,会在课程中列出一个列表,如下所示:

ListbarList=getBarList();
session.setAttribute(Foo.A_字符串,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>

${element.id}
td>${element.name}
...

如果不起作用,请提供帮助,谢谢。

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

其次,变量名不一致(
元素
元素
),请更改其中一个以使其一致

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

${element.id}
${element.name}
...

Foo.A_字符串
将无法解析,请尝试此
${sessionScope[A_字符串]}
无效。但是,${sessionScope.a_string}确实有效,但我不希望这样。我不想硬编码字符串文字。谢谢回复。它确实有效,但我不想硬编码“a_字符串”。附近有路吗?第二个问题是固定的。那是个打字错误。谢谢你的注意。