Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

проблема

2 views
Skip to first unread message

Gennady Karpinchik

unread,
Jul 19, 2007, 11:36:06 PM7/19/07
to
Прывiтання, спадарству !

В сессии сохраняю атрибут (setAttribute(...,...), из скриплета, сервлета он
виден (getAttribute(...,...)) (Tomcat 5.5.23). А как увидеть его с помощью JSTL
1.1 ? Если пробую ${атрибут} - пусто, ${sessionScope.атрибут} - выбрасывает
исключение.

Я, конечно, вернусь. Gennady.
... Сижу и слушаю (PM123) : спокойствие и тишина.

Yuri Khomich

unread,
Jul 20, 2007, 5:04:28 AM7/20/07
to
Hello, Gennady!
You wrote to спадарству on Fri, 20 Jul 2007 07:36:06 +0400:

GK> В сессии сохраняю атрибут (setAttribute(...,...), из скриплета,
GK> сервлета он виден (getAttribute(...,...)) (Tomcat 5.5.23). А как
GK> увидеть его с помощью JSTL
GK> 1.1 ? Если пробую ${атрибут} - пусто, ${sessionScope.атрибут} -
GK> выбрасывает исключение.

Что-то вроде <%@ page isELIgnored="false" %>
--
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru

Gennady Karpinchik

unread,
Jul 22, 2007, 11:34:56 PM7/22/07
to
Прывiтання, Yuri !

Ответ на сообщение Yuri Khomich к Gennady Karpinchik:

GK>> В сессии сохраняю атрибут (setAttribute(...,...), из скриплета,
GK>> сервлета он виден (getAttribute(...,...)) (Tomcat 5.5.23). А как

GK>> увидеть его с помощью JSTL 1.1 ? Если пробую ${атрибут} - пусто,
GK>> ${sessionScope.атрибут} - выбрасывает исключение.

YK> Что-то вроде <%@ page isELIgnored="false" %>
Hе совсем это то. Получается в сервлете атрибут виден, а в JSP 2, JSTL
1.1 - нет.

Sergey Kaluzhskiy

unread,
Jul 23, 2007, 2:01:27 PM7/23/07
to
Привет, Gennady!

fri, 20 July 2007 08:36, Gennady Karpinchik wrote to спадарству:

GK> В сессии сохраняю атрибут (setAttribute(...,...), из скриплета,
GK> сервлета он виден (getAttribute(...,...)) (Tomcat 5.5.23). А как
GK> увидеть его с помощью JSTL 1.1 ? Если пробую ${атрибут} - пусто,
GK> ${sessionScope.атрибут} - выбрасывает исключение.

Из JSTL насколько помню, недоступны переменные сессии. Hадо использовать

pageContext.setAttribute("name", value);

А дальше из JSTL можно вызвать

<c:out value="${name}"/>

То есть если необходимо что-то хранить в сессии, то сначала надо из сессии
загрузить в pageContext, а потом использовать это где необходимо в тэгах.

Sergey.

Now stoped: Paul Oakenfold, Armen Van Buuren & Tiesto - Sebas Arcabascio Mix
(01-25-2001)

Gennady Karpinchik

unread,
Jul 25, 2007, 12:22:22 AM7/25/07
to
Прывiтання, спадарству !

Кажется розобрался, где ошибка. В контролере спринга (2.0.6) сохраняю
аттрибут (с помощью слушателя вижу, что он сохраняется). В качестве вью
использую JSTL 1.1. JSTL не может получить доступ к сессии (${аттрибут} -
пусто, ${sessionScope.аттрибут} - исключение). Пытался с помощью JSTL сохранить
переменную с областью "session" - выбрасывает исключение :
org.apache.jasper.JasperException: javax.servlet.jsp.JspException: Cannot
access session scope in page that does not participate in any session
Такое ощущение, что спринг чикает сессию для JSTL. Чего и где можно подкрутить?

Gennady Karpinchik

unread,
Jul 25, 2007, 11:40:46 PM7/25/07
to
Отвечаю сам себе:)

GK> Кажется розобрался, где ошибка. В контролере спринга (2.0.6)
GK> сохраняю аттрибут (с помощью слушателя вижу, что он сохраняется). В
GK> качестве вью использую JSTL 1.1. JSTL не может получить доступ к
GK> сессии (${аттрибут} - пусто, ${sessionScope.аттрибут} - исключение).
GK> Пытался с помощью JSTL сохранить переменную с областью "session" -
GK> выбрасывает исключение : org.apache.jasper.JasperException:
GK> javax.servlet.jsp.JspException: Cannot access session scope in page
GK> that does not participate in any session Такое ощущение, что спринг
GK> чикает сессию для JSTL. Чего и где можно подкрутить?
Решение оказалось настолько простым, что даже стыдно признаться.
Страница (вью) собирается из частей. В одной из них была JSP директива для
запрета сессии, которая осталась случайно.

Gennady Karpinchik

unread,
Jul 26, 2007, 1:07:40 AM7/26/07
to
Прывiтання, Sergey !

Ответ на сообщение Sergey Kaluzhskiy к Gennady Karpinchik:

GK>> В сессии сохраняю атрибут (setAttribute(...,...), из скриплета,
GK>> сервлета он виден (getAttribute(...,...)) (Tomcat 5.5.23). А как
GK>> увидеть его с помощью JSTL 1.1 ? Если пробую ${атрибут} - пусто,
GK>> ${sessionScope.атрибут} - выбрасывает исключение.

SK> Из JSTL насколько помню, недоступны переменные сессии. Hадо
SK> использовать

SK> pageContext.setAttribute("name", value);

SK> А дальше из JSTL можно вызвать

SK> <c:out value="${name}"/>

SK> То есть если необходимо что-то хранить в сессии, то сначала надо из
SK> сессии загрузить в pageContext, а потом использовать это где
SK> необходимо в тэгах.
Все, спасибо, разобрался (см. предыдущую телегу).

0 new messages