次のシナリオを想定します。jsfコンポーネント(例:CommandButton)のレンダリング属性は、アプリケーションスコープの管理プロパティに依存します。プロパティはすべてのセッションで共有されるため、次のことが簡単に発生する可能性があります。ユーザーAがjsfページをロードし、ボタンのrender属性がtrueであるため、レンダリングされます。これで、ユーザーBもページをロードし、render属性は引き続きtrueになります。これで、ユーザーAがボタンをクリックすると、プロパティの値が変更され、ボタンはレンダリングされなくなります。ユーザーBはまだ古いビューを持っており、render属性は現在falseですが、その間にビューを更新しなかったため、ボタンをクリックできます。ユーザーBがボタンをクリックするとどうなりますか?
レンダリング属性はボタンのレンダリングに使用されるだけで、ページがレンダリングされると影響を与えなくなるため、ボタンのアクションはとにかく起動されると思いました。しかし、いくつかのテストを行った後、ボタンをクリックした後にレンダリング属性も再度チェックされ、属性がfalseの場合、アクションは実行されないように見えます。誰かがこれを確認できますか?