2016-04-08 3 views
1

Я играю с простым приложением struts2. Он имеет 2 страницы JSP - одну страницу «login.jsp», а вторая страница - это простой «form.jsp». Я использую эту же форму для отправки данных в базу данных любое количество раз. Если я успешно вхожу в систему, я покажу имя пользователя на странице «form.jsp». После первого успешного входа в систему идентификатор пользователя отображается на form.jsp с использованием <s:property value="#session['user'].userid" />, но после первого отправки последующие отображения формы.jsp возвращают пробел для идентификатора пользователя.Сохранение информации о сеансе в struts2 app

Страницы входа и выхода: SessionAware, но Action behind form.jsp просто реализует объект модели и не знает сеанса. Как сохранить идентификатор пользователя через несколько отправителей? Если бы кто-нибудь мог мне помочь, я был бы очень признателен.

+0

Так что просто сделайте это 'SessionAware'. В чем проблема? –

ответ

1

Как сохранить идентификатор пользователя через несколько отправителей?

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

Сохранить значение, скрытое подано как этот

<s:hidden name="userId" value="%{#session.user.userId}" multiple="true" /> 

Имя должно быть camaleCased, поэтому у вас есть геттер и сеттер на имущество. Когда вы снова вернетесь к форме, она вернет значение из сеанса.