3

JSF 2でのBeanの低レベルの動作をよりよく理解しようとして@ViewScopedいます。サーバーは、リクエスト間でビュースコープのBeanをどこに保持しますか?ビュースコープのBeanを実装する必要があることに気づきました。そのSerializableため、ある場所にシリアル化する必要があります。

誰かがこれを説明したり、それを説明するドキュメントへのリンクを提供したりできますか?

Webアプリにスコープ関連の欠陥が導入された可能性があるため、質問しています。どのように機能するかを理解する@ViewScopedことは、潜在的な原因のいくつかを除外するのに役立ちます。

4

1 に答える 1

7

@ViewScoped Beanは、UIViewRootのviewMapに格納されます。

UIViewRootは、UIComponentツリーのルートを表すUIComponentです。このコンポーネントは、Ajaxリクエストへの応答としてマークアップをレンダリングします。コンポーネントツリーのルートとしても機能します...

実際、このviewMapに自分でアクセスし、以下を使用してそこに値を詰め込むことができます。

facesContext.getViewRoot().getViewMap()...

詳細については、JSF APIドキュメントを参照してください:http: //javaserverfaces.java.net/nonav/docs/2.0/javadocs/javax/faces/component/UIViewRoot.html

于 2011-07-18T16:31:00.380 に答える