0

プロパティを持つセッション スコープのマネージド Bean がありますcurrent。方法があれば

   public void resetCurrent() {
       current = new Configuration();
   }

Bean では、アプリケーションの新しいページに移動するたびに自動的に呼び出されます。これは正常な動作ですか?コード内のどこでもメソッドを呼び出していません。

セッション Bean のプロパティをリセットするこのアプローチが、控えめに言っても理想的ではないことを考えると、それを達成するための正しい方法はどれでしょうか?

ありがとうございました。

4

1 に答える 1

1

JSFはそれをしません。それを行うのはあなたのコードです。ビューまたは別の Bean、あるいは Bean 自体がそれを呼び出している可能性があります。その行にデバッグ ブレークポイントを配置するか追加するThread.dumpStack()と、コール スタックを読み取ることで、誰がそれを呼び出しているかについての洞察が得られるはずです。または、メソッドの名前を別の名前に変更し、ビルド中にコンパイル エラーが表示されないか、実行時に EL 例外が発生しないかを確認して、呼び出し元を特定する必要があります。


セッション Bean のプロパティをリセットするこのアプローチが、控えめに言っても理想的ではないことを考えると、それを達成するための正しい方法はどれでしょうか?

機能要件によって異なります。たとえば、Bean がビュー スコープのデータを保持することになっている場合は、代わりにそれをビュー スコープに配置します。または、セッション スコープのデータ (ログインしているユーザーなど) を保持する必要があり、基本的にログアウトする場合は、セッションを無効にします。

于 2011-11-19T23:34:33.230 に答える