ビュースコープとはどういう意味ですか?誰もそれについて説明できるので、それがリクエストスコープとどのように異なるかを理解できますか?
@ViewScoped
Beanは、JSFビューとまったく同じ長さで存続します。通常、新しいGETリクエストまたはナビゲーションアクションで開始され、エンドユーザーがビュー内のPOSTフォームをnull
またはvoid
(したがってsameビューに戻ります。)ページを更新するか、 null
文字列(空の文字列でも!)ナビゲーションの結果、ビュースコープは終了します。
@RequestScoped
Beanは、HTTPリクエストとまったく同じ期間存続します。したがって、すべてのリクエストの終わりまでにガベージ化され、新しいリクエストごとに再作成されます。これにより、変更されたすべてのプロパティが失われます。
したがって、@ViewScoped
Beanは、Ajaxリクエスト全体で(変更された)ビュー状態を記憶する必要があるリッチAjax対応ビューで特に便利です。 @RequestScoped
がAjaxリクエストごとに再作成されるため、変更されたすべてのビューステートを記憶できません。 @ViewScoped
Beanは、@SessionScoped
Beanのように、同じセッション内の異なるブラウザータブ/ウィンドウ間でデータを共有しないことに注意してください。すべてのビューには、固有の@ViewScoped
Beanがあります。