在IceFaces 3.3中使用窗口范围时遇到了奇怪的问题。当我在构造函数和destroy方法(使用pre-destroy注释)上放置调试语句时,我发现当单个用户在页面之间导航时,正在创建和销毁相同的bean并重新创建。我检查了tomcat服务器上的访问日志,它显示用户正在使用IE8之类的兼容浏览器,并且除了在页面之间导航之外没有打开任何新选项卡。
窗口范围bean的生命周期是什么。触发窗口范围bean的原因是什么?
在同一浏览器上不会始终如一地发生此行为。对于使用IE8而不是其他用户的一些用户来说,这种情但是,重新创建bean的大多数情况似乎是用户支持某种代理的情况。代理会导致这样的行为吗?但是再一次,用户会话仍然有效,即跟踪用户姓名等的会话在页面之间保持不变。
如何解决此问题。窗口范围不可靠吗?
答案 0 :(得分:0)
是的,它不可靠,也许不适合窗口范围的目的。您需要实现自己的自定义范围,而不是预定义#{window}
的冰面。类org.icefaces.application.WindowScopeManager
应该给你一些关于你为什么看到这种行为的提示。