2011-09-20 66 views
1

如果我在具有Page Scope的类中定义一个静态变量,那么静态变量的范围是什么?即使我离开那个页面,然后回到那个页面(这里是指我指的是静态变量所在的xhtml页面),它会坚持数据吗?Seam中的静态变量的范围

回答

2

静态字段与类关联,而不是与任何对象关联。 Seam Scopes不会改变静态的含义。页面上下文允许您将状态与特定的instance关联,但是如果您将值分配给静态字段,则该值将由所有实例共享,而与您的Seam作用域无关。

它会持续的数据,即使我从该页面进行浏览,并 然后(通过页面在这里我的意思是,我这里指的是静态变量上 XHTML页面)回到该网页?

是的,因为您的Web应用程序有一个类加载器,所以您的静态变量的范围应该大于页面范围。

+1

您确定静态变量的作用域是应用程序作用域吗?我对它进行了测试,范围超过页面范围但小于应用范围。 – Logan

+0

我还没有尝试过,但洛根,但你说得对,也许范围小于应用范围。这取决于SEAM的类加载器实现以及何时卸载了类 –