JSF: при возврате значения null в методе Action обновляются только входные тексты, но не комбинированные списки - PullRequest
2 голосов
/ 17 ноября 2011

Я хочу сбросить форму JSF.Я реализовал метод Action, который сбрасывает все свойства в компоненте поддержки.

Когда я возвращаю String, который снова пересылает на ту же страницу, все записи формы сбрасываются.Текстовые поля ввода, а также поля со списком.

Но когда я возвращаю null, сбрасываются только поля ввода, а не поля со списком.

Я не понимаю этого поведения.Оба способа вызывают один и тот же метод, оба перенаправляют на одну и ту же страницу.

1 Ответ

5 голосов
/ 19 ноября 2011

Возврат результата из метода действия приводит к созданию нового экземпляра представления (с новым деревом компонентов).Если вместо этого вы вернете null, существующий экземпляр представления (существующее дерево компонентов) будет использован повторно.

Компонентам в JSF разрешено быть с состоянием.Например, JSF не обновляет модель (бэк-бин), если проверка не пройдена, но все равно повторно отображает неверные данные, введенные пользователем.Это реализуется путем хранения недопустимых данных в компоненте.

...