Проблема с перенаправлением / пересылкой страниц в Struts2 - PullRequest
1 голос
/ 08 июня 2011

Может кто-нибудь сказать мне, как перенаправить или перенаправить страницу с помощью Struts?Я проверяю, является ли сессия нулевой или нет в каждом jsp и хочу перенаправить, если ноль.Я могу сделать это с помощью простого jsp: forward или response.sendRedirect (), но я хочу перенаправить на действие struts2, которое я объявил в моем struts.xml.Я попытался поместить имена действий в вышеупомянутый тег и метод, но это не сработало.

if(session.getAttribute("user")!=null)
    response.sendRedirect("loginAction");

Есть ли в любом случае сделать это. Я не могу напрямую вызвать .jsp, потому что я добавил защитуограничение на шаблон URL * .jsp в моем web.xml.Поэтому я хочу сделать это вперед или перенаправить с помощью действий.Любая помощь?

Ответы [ 2 ]

3 голосов
/ 08 июня 2011

Лучше сделать эту проверку в Filter или Interceptor. Этот ответ на аналогичный вопрос может помочь.

0 голосов
/ 08 июня 2011

Во-первых, возможно, вы предпочтете проверить авторизованное использование (логин) в перехватчике ( например )

Во-вторых, чтобы выполнить перенаправление в Struts2 на действие struts2, вы просто используете соответствующий результат . Неправильно обращаться к объектам нижнего уровня (связанным с сервлетами), если в этом нет необходимости.

В-третьих, о I can't call to a .jsp directly: вы не можете перенаправить на URL-адрес jsp (поскольку в вашей архитектуре jsp нельзя получить из браузера, но вы можете обратиться к нему, то есть показать, что login.jsp в ответ на ваши действия. Это просто, только объективно, если вы хотите, чтобы пользователь видел какой-то URL-адрес «... login.do» в своем браузере, когда он запрашивает аутентификацию.

...