問題は私のものと同じであるため、この質問を参照しますが、私の状況では解決策が使用できるとは思いません。
記入して送信する必要のある一連のフォームを含むワークフローがあり、ユーザーが[次へ]ボタンをクリックした後にモーダルオーバーレイを表示したいと思います。このオーバーレイを表示するには、コマンドボタンでajaxを使用する必要があります。これは、リンクされた問題で説明されているように、望ましくない動作につながります。
リンクされた問題の解決策は「ナビゲーションにAjaxを使用しない」のように見えましたが、私の場合、この待機中のダイアログを表示するために使用する必要があると思います。次のページのビューステートが正しく更新され、ナビゲートを続行するときにボタンを2回押す必要がないことを保証する他の方法はありますか?
Primefaces3.3.1を使用しています。
<p:commandButton id="nextCommand" value="Next"
action="#{backingBean.processInputAndDetermineOutcome}"
onclick="waiter.show();" oncomplete="waiter.hide();">
<f:param name="validate" value="true" />
</p:commandButton>
「validate」パラメータは、カスタムBeanValidatorで使用しているフラグです。これにより、「戻る」ボタンでフォームを送信し、評価を処理せずにモデルを更新できます。それがこの質問に影響を与えることはないと思いますが、このcommandButtonに関係する他の部分について言及する必要があると思いました。