Проблема с arrayList электронной сессии JSP - PullRequest
3 голосов
/ 07 января 2011

У меня проблема с моей программой.

У меня есть сервлет; в этом сервлете сохраните атрибут сеанса

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

Теперь атрибут является String, а не ArrayList. На самом деле, когда я пытаюсь сделать:

request.getsession().getAttribute(list)

- это строка, а не массив.

Я хочу массив.

Спасибо

Ответы [ 3 ]

5 голосов
/ 07 января 2011

Вы должны разыграть, когда получите атрибут из сеанса следующим образом:

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

А атрибуты в сеансе сохраняются на карте, поэтому ключ, который вы использовали, является строкой иВы должны использовать строку для получения значения.

1 голос
/ 07 января 2011

Как ответили в ваших предыдущих вопросах , просто получите к нему доступ по EL в JSP.

${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>

См. Также:

1 голос
/ 07 января 2011

session.getAttribute(..) возврат Object

Вы должны будете разыграть его как

List<Integer> list = (List<Integer>)request.getsession().getAttribute("list");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...