我的Xpages应用程序出现了一个奇怪且间歇性的错误。
我在我的应用程序中广泛使用sessionScope变量用于各种管家项目,例如导航和布局标题。
我的应用程序不时会爆炸,因为我的一个sessionScope值为null - 但它不应为null。
代码在我的主Xpage中的包含页面上爆炸:
我想要完成的是在appLayout的facet_1中动态加载页面。
<xp:include id="include1" xp:key="LeftColum">
<xp:this.pageName><![CDATA[${javascript:var selPage:String = sessionScope.selectedPage;
var pageType:String = sessionScope.pageType[selPage];
if (pageType == "0")
{navKey = "ccAppNav"}
if (pageType == "9")
{var capSelPage = selPage.charAt(0).toUpperCase() + selPage.substring(1);
navKey = "ccAppNav" + capSelPage}
navKey + ".xsp"}]]></xp:this.pageName>
</xp:include>
它运行一段时间,然后随着值session.selectedPage为null而随机爆炸。我几乎可以肯定我没有在代码中的任何地方将值设置为null。
奇怪的是,我也在零错误附近看到了这个错误。
&#34; Xpage状态数据不适用于/ xpApp,因为在缓存中找不到控制树。&#34;
听起来像Xpages已刷新sessionScope值。
答案 0 :(得分:1)
确保xsp.properties中的会话超时和应用程序超时大于HTTP超时。否则,系统不会提示用户再次登录,但会删除sessionScopes和applicationScopes。
此外,如果其他人刷新应用程序的设计或清理应用程序,也会发生同样的情况。