0

ここで @ViewScoped マネージド Bean について既に質問しました。

Commandlink アクションと @viewscoped の奇妙な動作

残念ながら、私が持っている JSF に関する本やドキュメントには @ViewScoped アノテーションのヒントしかなく、その舞台裏のメカニズムは明らかにされていません。そのため、JSF Bean でひどい頭痛がした後、Mojarra 2.1 でいくつかのテストを行ったところ、(私にとって) いくつかの新しい奇妙な結果が得られました。

まず最初に、同じページに対して Get リクエストを連続して実行すると、リンクされた @ViewScoped マネージド Bean が毎回再作成されます。同じページへの連続した Post の同じ動作、つまりマネージド Bean が投稿間で存続し、再度作成されないことを期待していたでしょう。

新しい @Viewscoped マネージド Bean が作成されたときに、前のマネージド Bean が破棄されたことを意味しません。驚いたことに(私にとって)、しばらくの間アクセス可能なままです。ブラウザーの戻るボタンを使用してこの事実に気付きました (私はそれが no no であることを知っています): 別のフィルター データを持つ新しいマネージド Bean が作成されたため、「期限切れ」になるはずだったマネージド Bean からいくつかの詳細データを取得できました。

私の結果が正しいことを確認できますか? コードを見なくても @ViewScoped の内部メカニズムに関する情報はどこにありますか?

ありがとうフィリッポ

4

1 に答える 1

1

BalusCの優れた記事「CommunicationinJSF2.0」ViewScopedを参照して、 Beanが時々Beanのように動作する理由RequestScoped@ViewScopedがタグハンドラーで失敗する)に関する章を参照することをお勧めします。

于 2012-02-27T08:08:17.087 に答える