Я пытаюсь сделать в Spring MVC (+ Hibernate) что-то вроде этого:
if (session.getAttribute("nameofthesession").equals(1)) {
// do something
}
Однако это работает только в том случае, если сеанс уже имеет какое-то значение. Если он не существует, возвращается ошибка: Состояние HTTP 500 — Ошибка обработки запроса; вложенным исключением является java.lang.NullPointerException.
Что я должен сделать, чтобы заставить его работать (например, как написать что-то вроде «если сеанс существует и имеет значение = 1, то сделайте что-нибудь»)? Спасибо за ответ.
2 ответа
Вы можете проверить существование сеанса, используя это -
request.getSession();
Если он возвращает null
, сеанс не существует. Подробнее см. здесь
Если атрибут сеанса не существует, вы получаете нуль из метода getAttribute, вам нужно защитить нулевой возврат следующим образом:
Object v = session.getAttribute ("nameofthesession");
if (v != null && v.equals (1) { /* ... */ }
Или же:
if (Integer.valueOf (1).equals (session.getAttribute ("nameofthesession")) { /* ... */
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.