После ошибки проверки последующие запросы ajax получают значения из компонентов пользовательского интерфейса, а не из Beans

В моем приложении на основе JSF 2 у меня есть форма, которая включает (среди других компонентов пользовательского интерфейса) некоторые флажки.

На флажках я зарегистрировал ajax-запросы, которые запускаются при их проверке. Ajax-запросы на самом деле просто обновят значение другого флажка в компоненте поддержки. В результате будет также установлен другой флажок (когда он будет перерисован - так как он будет принимать обновленное значение из компонента поддержки в фазе ответа рендеринга).

Это работает нормально, пока не будет отправлена вся форма и не возникнут ошибки проверки. Затем запросы ajax по-прежнему работают и меняют значение в компоненте поддержки, но на этапе повторного рендеринга обновленного флажка значение для него берется не из компонента поддержки, а из кэшированного значения, которое берется изComponentStateHelper учебный класс.

Насколько я понимаю, это используется для новой функции JSF 2, чтобы хранить только частичные изменения в дереве компонентов.

Я не понимаю, как это связано с этапом валидации? Почему в кэше есть значениеStateHelperкласс для моего флажка, когда проверка обнаружила ошибки?

Ответы на вопрос(1)

Ваш ответ на вопрос