Как я могу получить переменную сеанса (установленную с помощью сервлета) в jstl

я делаю приложение с сервлетами jsp и java, проблема в том, что
мне нужно проверить, установлена ​​ли определенная переменная сеанса (я установил ее в сервлете)
в моем файле jsp. Я использую jstl для проверки, мой код:

 String siguiente = "/vista2.jsp";
...
if(request.getParameter("User").equals(usdb) && request.getParameter("pass").equals(passDB)){
                    out.println("Coinciden usuario y contraseña
"); HttpSession hs = request.getSession(true); Integer par = (Integer)hs.getAttribute("varS"); if(par==null){ Random rg = new Random(); par = new Integer(rg.nextInt(1000)); hs.setAttribute("varS", par); } RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(siguiente); dispatcher.forward(request, response); break; }

и в моем коде jsp я пытаюсь

<c:choose>
<c:when test="${varS!=null}">
<c:redirect url="/index.jsp" />
</c:when>
<c:otherwise>
<h1>Has entrado exitosamente</h1>
</c:otherwise>
</c:choose>

И хотя я обращаюсь к странице напрямую (без доступа к сервлету ранее), страница не перенаправляется


person futureEngineer    schedule 13.05.2013    source источник
comment
возможный дубликат атрибута Access Session на jstl   -  person Daniel Kaplan    schedule 14.05.2013
comment
Если вы хотите протестировать null проверки, используйте ${not empty varS}. Кроме того, убедитесь, что у вас нет атрибута запроса с таким же именем.   -  person Luiggi Mendoza    schedule 14.05.2013
comment
нет, @tieTYT, я читал этот пост, но он мне не помог, и я даже не улавливаю его код сервлета, поэтому он у меня не работает   -  person futureEngineer    schedule 14.05.2013
comment
это решено! спасибо @LuiggiMendoza, я изменил его на ‹c:when test=${не пустой sessionScope.hs.varS}   -  person futureEngineer    schedule 14.05.2013
comment
Пожалуйста. Вы все еще уверены, что вам нужно использовать hs в середине вашего EL?   -  person Luiggi Mendoza    schedule 14.05.2013
comment
@LuiggiMendoza ну, по-другому это не работает, так что я думаю, это необходимо   -  person futureEngineer    schedule 14.05.2013
comment
Тогда ваша проблема в том, что у вас есть атрибут сеанса hs, который внутри содержит переменную varS. Это очень странно узнавать из вашего кода.   -  person Luiggi Mendoza    schedule 14.05.2013