JSF: перезагрузить свойство области запроса после ajax-запроса - PullRequest
3 голосов
/ 07 июля 2011

У меня есть скрытое поле ввода, значение которого считывается из свойства области запроса:

<h:inputHidden id="myHiddenField" value="#{requestScope['myVar']}" />

Я запускаю Ajax-запрос, где меняю значение myVar.

<p:commandButton value="submit" action="#{myController.doSomething}" update="myHiddenField">

Но мое поле ввода все еще содержит старое значение.

Есть идеи, как мне решить эту проблему?

ОБНОВЛЕНИЕ: Может быть, мне нужно объяснить это немного подробнее ... myVar содержит идентификаторы всех полей вводас сообщением об ошибке (facesContext.getClientIdsWithMessages()).

Когда я впервые отправляю форму (с некоторыми ошибками проверки), она работает как положено.Когда я повторно отправляю форму с некоторыми другими ошибками проверки, значение myVar не обновляется ... (по-прежнему содержит идентификаторы "старых" ошибок). Когда я повторно отправляю форму без ошибок проверки, myVar обновляется,(myVar сейчас пусто)

1 Ответ

1 голос
/ 07 июня 2012

Если вы хотите получить доступ к бину после загрузки страницы, он должен быть как минимум ViewScoped.Бины RequestScoped уничтожаются при загрузке страницы (запрос обрабатывается, и он больше не нужен).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...