我们有这个XPages应用程序,它有一个母版页(比如M.xsp)和几个子页面,都在主页面上的单独iframe中(在单独的标签中加载为A.xsp,B.xsp和C.xsp) )。一般来说,应用程序运行良好。每个子页面都不应该干扰其他页面,据我所知,它不会。一些与页面相关的数据存储在viewScope变量中,但对于我们开发Managed Beans最重要的部分,其数据也主要在视图范围内。
现在,我们看到以下内容:
viewScope丢失,我的页面依赖bean丢失,非常奇怪。
我们检查过,但更改专用于XPage的内存量并未发生任何变化。
XPages 9.0.1,仅限浏览器。
有人可以解释一下这个行为:如何重复执行beforePageLoad?我们怎样才能阻止它?
谢谢!
答案 0 :(得分:0)
Twas确实与内存中的最大页数有关。每次单击页面B上列表中的项目时,使用带有项目作为参数的URL将子页面(B1)加载到另一个iframe中。列表中的许多点击强制加载许多页面,导致所有其他页面从内存中消失。因此,当我们回到页面A并在那里触发一些部分刷新时,就好像该页面对于运行时环境来说是新的一样。
我重写了子页面B2以保留在内存中,并在列表值更改时自行进行部分刷新。相当快很快,没有不必要的页面丢弃。