基本的に、私の問題は、ユーザーが1つのボタンをクリックし、ページが応答するのを待ってから別のボタンをクリックすると、競合状態が発生しているように見えることです。
2番目のボタンのコードと同じ変数を使用して最初のボタンのコードを回避するにはどうすればよいですか?
ボタンをクリックするたびにJSFモデルの異なるフェーズになるため、両方のリクエストが同じゲッターとセッターをランダムな順序で呼び出すと思われます。
これが例です。ユーザーがボタンをクリックすると、アクション関数がいくつかの変数を変更するとします。その変数は、ゲッターおよびセッターで実際のjsfタグにリンクされています。ここで、アクション関数が50%完了したとします。これで、ユーザーは同じボタンを押します。JSfは、同じ変数にリンクされているゲッターとセッターを呼び出し、状態などを復元します。基本的に、その変数は、アクションによって変更される前の状態にリセットされます。これで、最初のクリックのアクション関数が実行を継続し、変数が再び変更されます。2回目のアクションコールがなくても、競合状態です。