arrayList e session jsp的问题

时间:2011-01-07 17:30:03

标签: java jsp servlets

我的程序有问题。

我有一个servlet;在这个servlet中保存会话属性

ArrayList<Integer> list = new ArrayList<Integer>;
list.add(1);
request.getsession().setAttribute("list",list);

现在该属性是String而不是ArrayList。 事实上当我尝试做的时候:

request.getsession().getAttribute(list)

是一个字符串,而不是一个数组。

我想要一个数组。

由于

3 个答案:

答案 0 :(得分:5)

当您从会话中获取属性时,您必须进行强制转换:

 ArrayList<Integer> list = (ArrayList<Integer>)request.getsession().getAttribute("list");

会话中的属性存储在地图中,这就是您使用的键是String的原因,您必须使用字符串来检索值。

答案 1 :(得分:1)

session.getAttribute(..)返回Object

你必须像

一样投射它
List<Integer> list = (List<Integer>)request.getsession().getAttribute("list");

答案 2 :(得分:1)

正如您在previous questions中所回答的那样,只需在JSP中通过EL访问它。

${list}

如果要迭代它,请使用JSTL c:forEach

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
...
<c:forEach items="${list}" var="item">
    ${item}<br />
</c:forEach>

另见: