Как избежать фазы APPLY_REQUEST_VALUES для конкретного события - PullRequest
1 голос
/ 23 февраля 2012

У меня есть требование, в котором форма отображает множество полей ввода из объекта модели.

И в одном из полей вызывается внешний плагин, и значение этого поля напрямую изменяется в модели этим плагином (не изменяется в поле формы пользовательского интерфейса), теперь я хотел бы переопределить эту панель так, чтобы изменилось значение (из объекта модели) отображается в поле формы пользовательского интерфейса.

Проверено все, и плагин также может изменить значение в модели, а также вызывает reRender панели. Когда reRender, то происходит то, что значения в форме пользовательского интерфейса применяются к модели, и объект модели теряет значение (устанавливается плагином), а когда панель обновляется, я все равно вижу пустое поле.

Есть ли способ, чтобы только для этого события я обходил APPLY_REQUEST_VALUES, чтобы отображались значения в модели? Или есть лучшее решение для этого?

С уважением, Satya

1 Ответ

2 голосов
/ 23 февраля 2012

Для этого вы можете использовать immediate="true".

<a4j:support ... immediate="true" />

Таким образом будет обрабатываться только текущий компонент.

Другой способ - просто перейти к немедленной обработке ответа в значенииизмените прослушиватель, чтобы пропустить фазу обновления значений модели (и действия вызова).

FacesContext.getCurrentInstance().renderResponse();
...