Если у меня есть обработчик-перехватчик, который загружает объект пользователя, добавляет его в запрос attri, могу ли я привести объект для получения? - PullRequest
0 голосов
/ 20 июля 2010

Я планирую создать перехватчик Handler, который будет срабатывать до того, как будет вызван контроллер (или я выполню этот предварительный запуск).

Затем я проверю cookie пользователя и загрузю объект пользователя.на основе идентификатора сеанса в файле cookie.

Затем я добавлю объект пользователя в атрибуты запроса.

Теперь, если я хочу получить объект пользователя в действии моих контроллеров, я приведу его(Пользователь)?

Я верю в свой шаблон бесплатного маркера, я могу просто сделать правильный $ {user.name}?или это user.getUsername?

1 Ответ

2 голосов
/ 20 июля 2010

Во-первых, вам лучше поместить пользователя в сеанс, чтобы преобразование cookie> пользователя не происходило при каждом запросе.

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

User user = (User) session.getAttribute(USER_KEY); // this is s String constant

В качестве альтернативы, вы можете создать класс UserHolder, где вы передаете HttpSession, и он дает вам пользователя, тем самым избавляя вас от кастов в вашем коте контроллера.

Тот же подход можно использовать с HttpServletRequest.

...