Обновлены значения JSF UIComponents - PullRequest
2 голосов
/ 10 февраля 2010

У меня есть страница с выбором радио с 3 опциями и inputTextArea.Когда я нажимаю кнопку «Отправить» на своей странице, мне нужно сделать несколько проверок ... Для этого я включаю валидатор на радио.Проблема в том, что когда выполняется валидатор, мне нужны значения inputTextArea и радио, но они приходят со старыми значениями, а не со значениями, которые были определены на странице до того, как страница была передана.

Пример: String.valueOf (textArea.getValue ()). Equals ("")) при первом суммировании код String.valueOf (textAreaOcorrencia.getValue ()) является нулевым, но поскольку textArea было пустым, он был назначенпустая строка.Когда он отправляется во второй раз, он имеет значение, которое он должен был иметь в 1-й подаче.Я знаю, что это как-то связано с жизненным циклом JSF, но я не знаю, как обновить эти значения?

Заранее спасибо ...

1 Ответ

3 голосов
/ 10 февраля 2010

На этапе применения значений запроса представленные значения будут установлены и доступны как submittedValue. На этапе проверки представленные значения будут проверены и преобразованы и установлены как value. Компоненты проверяются в порядке сверху вниз, так как компоненты отображаются в дереве компонентов.

Таким образом, если рассматриваемый компонент действительно появляется после текущего компонента в дереве компонентов, вам нужно получить его значение на UIInput#getSubmittedValue() вместо UIInput#getValue().

Чтобы узнать больше о жизненном цикле JSF, вы можете найти эту статью для самостоятельной работы полезной.

...