Можно ли настроить bean-компонент Spring с областью действия сеанса с атрибутами из сеанса?

Я пытаюсь создать служебный компонент, который при ссылке будет инициализирован атрибутами на основе HttpSession.

Допустим, в качестве аргумента мое веб-приложение будет делать следующее:

  1. Установить сеанс
  2. Запросить логин и пароль
  3. Когда запрашивается услуга (это scope = "session" и есть init-method = "init ()"), для сеанса создается новый экземпляр.

Могу ли я ссылаться на HttpSession в методе init, передав его в качестве параметра и ссылаясь на него с помощью EL?

Любые идеи по этому поводу будут оценены.


person Dave G    schedule 09.04.2010    source источник


Ответы (1)


Вы можете получить доступ к привязанному к потоку HttpSession следующим образом:

HttpSession session = 
    (HttpSession) RequestContextHolder.getRequestAttributes()
        .resolveReference(RequestAttributes.REFERENCE_SESSION);
person axtavt    schedule 09.04.2010
comment
Спасибо за ответ axtavt. К сожалению, API, на который вы ссылаетесь, не соответствует тому, что указано в документации. Я нашел stackoverflow.com/questions/1629211/, что значительно приблизило меня к тому месту, где мне нужно быть. Спасибо за ваш вклад! - person Dave G; 10.04.2010