Nach einem Validierungsfehler erhalten nachfolgende Ajax-Anforderungen Werte von UI-Komponenten und nicht von Beans

In meiner JSF 2-basierten Anwendung habe ich ein Formular, das (neben anderen UI-Komponenten) einige Kontrollkästchen enthält.

An den Kontrollkästchen habe ich Ajax-Anforderungen registriert, die ausgelöst werden, wenn sie aktiviert sind. Die Ajax-Anforderungen aktualisieren lediglich den Wert eines anderen Kontrollkästchens in der Backing-Bean. Infolgedessen wird auch das andere Kontrollkästchen aktiviert (wenn es erneut gerendert wird - da es den aktualisierten Wert aus der Backing-Bean in der Render-Antwortphase übernimmt).

Dies funktioniert einwandfrei, bis das gesamte Formular gesendet wird und Überprüfungsfehler auftreten. Dann funktionieren die Ajax-Anforderungen immer noch und ändern den Wert auf der Backing-Bean, aber in der Phase des erneuten Renderns des aktualisierten Kontrollkästchens wird der Wert dafür nicht von der Backing-Bean, sondern von einem zwischengespeicherten Wert übernommen, der von a stammtComponentStateHelper Klasse.

Soweit ich weiß, wird dies für die neue Funktion von JSF 2 verwendet, um nur teilweise Änderungen am Komponentenbaum zu speichern.

Was ich nicht verstehe ist: Wie hängt das mit der Validierungsphase zusammen? Warum gibt es einen zwischengespeicherten Wert in derStateHelperKlasse für mein Kontrollkästchen, wenn bei der Validierung Fehler festgestellt wurden?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage