2011-09-20 2 views
1

ページスコープを持つクラスで静的変数を定義すると、静的変数のスコープはどのようになりますか?そのページから移動してそのページに戻ってきてもデータは保持されますか(ここではページで私は静的変数を参照しているxhtmlページを意味します)?Seamの静的変数のスコープ

答えて

2

スタティックフィールドは、オブジェクトではなくクラスに関連付けられます。 Seam Scopesは静的な意味を変更しません。ページコンテキストを使用すると、状態を特定のinstanceに関連付けることができますが、静的フィールドに値を割り当てると、その値はSeam Scopeに関係なくすべてのインスタンスで共有されます。

私がそのページから移動し、 は、その後、(私は静的変数を参照しています のXHTMLページを意味するページによってここに)そのページに戻ってきても、それがデータを永続化のでしょうか?

はい、Webアプリケーション用に1つのクラスローダーがあるため、静的変数のスコープはページスコープ以上にする必要があります。

+1

静的変数のスコープがアプリケーションスコープであることは確かですか?私はそれをテストし、スコープはページスコープ以上でしたが、Application Scope未満でした。 – Logan

+0

私はまだLoganを試していませんが、あなたはおそらく適用範囲よりもスコープが狭いかもしれません。それはSEAMのクラスローダーの実装に依存し、クラスがアンロードされるとき –