В сессии сохраняю атрибут (setAttribute(...,...), из скриплета, сервлета он
виден (getAttribute(...,...)) (Tomcat 5.5.23). А как увидеть его с помощью JSTL
1.1 ? Если пробую ${атрибут} - пусто, ${sessionScope.атрибут} - выбрасывает
исключение.
Я, конечно, вернусь. Gennady.
... Сижу и слушаю (PM123) : спокойствие и тишина.
GK> В сессии сохраняю атрибут (setAttribute(...,...), из скриплета,
GK> сервлета он виден (getAttribute(...,...)) (Tomcat 5.5.23). А как
GK> увидеть его с помощью JSTL
GK> 1.1 ? Если пробую ${атрибут} - пусто, ${sessionScope.атрибут} -
GK> выбрасывает исключение.
Что-то вроде <%@ page isELIgnored="false" %>
--
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
Ответ на сообщение 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 - нет.
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)
Кажется розобрался, где ошибка. В контролере спринга (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. Чего и где можно подкрутить?
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 директива для
запрета сессии, которая осталась случайно.
Ответ на сообщение 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> необходимо в тэгах.
Все, спасибо, разобрался (см. предыдущую телегу).