Iは、要求スコープのプロパティから読み出された値隠し入力フィールドを有する:JSF:AJAX要求後に要求スコーププロパティをリロード
<h:inputHidden id="myHiddenField" value="#{requestScope['myVar']}" />
私は値を変更するのAjaxリクエストをトリガmyVar
である。
<p:commandButton value="submit" action="#{myController.doSomething}" update="myHiddenField">
しかし、私の入力フィールドにはまだ古い値が含まれています。
どうすればこの問題を解決できますか?
UPDATE: はたぶん私はもう少しそれを説明する必要がある。.. myVar
はエラーメッセージ(facesContext.getClientIdsWithMessages()
)を持つすべての入力フィールドのIDが含まれています。
フォームを(一部の検証エラーを伴って)送信すると、期待どおりに機能します。他の検証エラーでフォームを再送信すると、myVar
の値は更新されません。(まだ '古い'エラーのIDが含まれています)検証エラーなしでフォームを再送信すると、myVar
が更新されます。 (myVar
は現在空です)