Примечание @SessionAttribute
, упомянутое @uthark, не подходит для этой задачи - я тоже так думал, но бит чтения показывает иначе:
Атрибуты сеанса, как указано с помощью
эта аннотация соответствует
атрибуты модели конкретного обработчика,
прозрачно хранится в
разговорный сеанс. Те
атрибуты будут удалены, как только
обработчик указывает завершение его
разговорный сеанс. Поэтому используйте
это средство для такого разговорного
атрибуты, которые должны быть
временно сохраняется в сеансе
в течение определенного
разговор хендлера.
Для постоянных атрибутов сеанса, например,
объект аутентификации пользователя, используйте
традиционный session.setAttribute
метод вместо С другой стороны,
рассмотреть возможность использования атрибута
Возможности управления общего
Интерфейс WebRequest.
Другими словами, @SessionAttribute
предназначен для хранения объектов MVC-модели диалога в сеансе (в отличие от хранения их в качестве атрибутов запроса). Он не предназначен для использования с произвольными атрибутами сеанса. Как вы обнаружили, он работает только в том случае, если атрибут сессии всегда присутствует.
Я не знаю никакой другой альтернативы, я думаю, что вы застряли с HttpSession.getAttribute()