Как проверить правильность сеанса в Struts 2 JSP? - PullRequest
0 голосов
/ 19 октября 2011

У меня есть include jsp на всех моих страницах, который включает в себя js-файлы, css-файлы и т. Д. Этот jsp также относится к сеансу с "".

На последней странице моего приложения действие делает session.invalidate для объекта HttpSession.

Таким образом, когда последняя последняя страница моего приложения появляется и запускается «», я получаю следующую ошибку, так как сеанс признан недействительным

2011-10-19 10: 30: 59,134 WARN com.opensymphony.xwork2.ognl.OgnlValueStack - возникла исключительная ситуация при вычислении выражения '# session.user.isWhwhat ()' для стека значений java.lang.IllegalStateException: getAttribute: сеанс уже признан недействительным в org.apache.catalina.session.StandardSession.getAttribute (StandardSession.java:1062) в org.apache.catalina.session.StandardSessionFacade.getAttribute (StandardSessionFacade.java:110) в org.apache.struts2.dispatcher.SessionMap.get (SessionMap.java:165) в ognl.MapPropertyAccessor.getProperty (MapPropertyAccessor.java:76)

Я пытался "#session neq null", чтобы остановить появление ошибки, но это не работает.

Есть ли в любом случае / условие, чтобы использовать, чтобы остановить эту ошибку? Как проверить, действителен ли сеанс в jsp в Struts 2?

1 Ответ

0 голосов
/ 19 октября 2011

Проверьте наличие известного значения сеанса - в вашем случае, #session.user.Вам не нужно делать явную нулевую проверку, IIRC (может быть ошибочным).В зависимости от того, как на самом деле все работает в вашем приложении, вы также можете проверить isNew, хотя, похоже, в этом нет необходимости.

Сеанс «никогда» не будетnull - если явно не указано иное, простое нажатие на страницу JSP создаст ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...