gpt4 book ai didi

xpages - XPage 上存在多个 IFrame 时无法设置 sessionScope 变量

转载 作者:行者123 更新时间:2023-12-01 09:30:25 27 4
gpt4 key购买 nike

我有一个包含多个 IFrame 的 XPage(“xBase”),每个 IFrame 在我的数据库中显示一个 XPage(“xIFrame”)。单击 xBase 中的按钮时,会设置 sessionScope 变量,并部分刷新显示该变量的标签(参见示例代码)。只要没有太多 IFrame,以这种方式显示变量就可以正常工作。在下面的简短演示示例中,最多只能显示 3 个 IFrame,但一旦存在 4 个或更多,就不再设置 sessionScope 变量。

我在 Notes Client 8.5.3、Firefox 13.0.1 和 Safari 5.1.7 中测试了给定的示例,结果相同。部分刷新本身似乎没有问题,因为刷新显示当前时间的标签可以正常工作。谁能告诉我是什么问题?

XPage“xBase”:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xc="http://www.ibm.com/xsp/custom">

<xp:this.beforePageLoad><![CDATA[#{javascript:sessionScope.remove("testvar");}]]></xp:this.beforePageLoad>

<xp:div id="divIFrames">
<iframe src="xIFrame.xsp?para0=abc" id="iframe0" name="iframe0"></iframe>
<iframe src="xIFrame.xsp?para0=def" id="iframe1" name="iframe1"></iframe>
<iframe src="xIFrame.xsp?para0=ghi" id="iframe2" name="iframe2"></iframe>
<iframe src="xIFrame.xsp?para0=jkl" id="iframe3" name="iframe3"></iframe>
<iframe src="xIFrame.xsp?para0=mno" id="iframe4" name="iframe4"></iframe>
</xp:div>
<xp:br/>

<xp:button value="refresh iframes" id="button0">
<xp:eventHandler event="onclick" submit="true" refreshMode="partial" refreshId="divIFrames"></xp:eventHandler>
</xp:button>
<xp:br/><xp:br/>

<xp:label id="label"><xp:this.value><![CDATA[#{javascript:new Date().toUTCString()+": "+sessionScope.containsKey("testvar")}]]></xp:this.value></xp:label>
<xp:br></xp:br>

<xp:button value="set sessionScope / refresh label" id="button1">
<xp:eventHandler event="onclick" submit="true"
refreshMode="partial" refreshId="label">
<xp:this.action><![CDATA[#{javascript:sessionScope.put("testvar","STRING");}]]></xp:this.action>
</xp:eventHandler>
</xp:button>

</xp:view>

XPage "xIFrame"(只是一个显示时间和网址的标签> 确保它不会导致问题):

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:label value="#{javascript:new Date().toUTCString()+':'+context.getUrl().toString()}"></xp:label>
</xp:view>

最佳答案

问题可以通过添加来解决

xsp.persistence.tree.maxviews=16

到数据库的 xsp.properties 文件,然后清理项目。 16 的值是任意的,只要确保它高于您计划使用的 IFrame 数量即可。

所有功劳都归功于提供此解决方案的 Sven Hasselbach 和 Per Henrik Lausten。

关于xpages - XPage 上存在多个 IFrame 时无法设置 sessionScope 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16052911/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com