2011-09-20 60 views
1

如果我在具有Page Scope的類中定義一個靜態變量,那麼靜態變量的範圍是什麼?即使我離開那個頁面,然後回到那個頁面(這裏是指我指的是靜態變量所在的xhtml頁面),它會堅持數據嗎?Seam中的靜態變量的範圍

回答

2

靜態字段與類關聯,而不是與任何對象關聯。 Seam Scopes不會改變靜態的含義。頁面上下文允許您將狀態與特定的instance關聯,但是如果您將值分配給靜態字段,則該值將由所有實例共享,而與您的Seam作用域無關。

它會持續的數據,即使我從該頁面進行瀏覽,並 然後(通過頁面在這裏我的意思是,我這裏指的是靜態變量上 XHTML頁面)回到該網頁?

是的,因爲您的Web應用程序有一個類加載器,所以您的靜態變量的範圍應該大於頁面範圍。

+1

您確定靜態變量的作用域是應用程序作用域嗎?我對它進行了測試,範圍超過頁面範圍但小於應用範圍。 – Logan

+0

我還沒有嘗試過,但洛根,但你說得對,也許範圍小於應用範圍。這取決於SEAM的類加載器實現以及何時卸載了類 –