扩展库对话框刷新/缓存问题?

时间:2012-09-11 19:20:01

标签: xpages

我似乎遇到了扩展库对话框的问题,或者没有刷新或缓存值。

请参阅下面的简化示例。基本上该按钮会弹出一个扩展库对话框。对话框中包含一个带有@Unique()的计算字段作为其值。在我们的prod服务器上,按下按钮时不会更新该号码。它适用于第一次按下按钮但后续按下不会更新数字。

这仅在生产中发生,并且类似问题仅在过去几周内开始发生。它仍然适用于我们的Dev和QA服务器。

我的管理员联系人现在不在,所以我不知道服务器之间版本的差异,但是当我得知这些信息时我会发布它们。

以下是代码:

<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xc="http://www.ibm.com/xsp/custom"
xmlns:xe="http://www.ibm.com/xsp/coreex">
<xp:this.resources>
    <xp:script src="/Validation_SSJS.jss" clientSide="false"></xp:script>
</xp:this.resources>


<xp:br></xp:br>

<xp:br></xp:br>
<xe:dialog id="dlgMsg2" title="Message" style="width:400px;">

   <xp:text escape="true" id="computedField1" value="#{javascript:return @Unique();}">
        </xp:text>


</xe:dialog><xp:br></xp:br>
<xp:br></xp:br>



<xp:br></xp:br>
<xp:button value="Popup Message" id="button1">
    <xp:eventHandler event="onclick" submit="true"
        refreshMode="complete">
        <xp:this.action><![CDATA[#{javascript:var dlg =      getComponent("dlgMsg2");
dlg.show();}]]></xp:this.action>
    </xp:eventHandler></xp:button>
</xp:view>

更新:问题出现在IE和Firefox中,因此它似乎与浏览器无关。我猜它不是Pistolstar相关的,因为我之前有PS和Xpages的问题。 Pistolstar发现了这个问题,当我得到更多细节时,我会更新我以前的帖子

更新:我检查过,我们的QA和Prod服务器的扩展库版本为8.5.3.20111208-0717。

3 个答案:

答案 0 :(得分:1)

我提出了解决此问题的“解决方法”。我为对话框的onShow事件添加了一个刷新事件处理程序。

<xe:dialog id="dlgMsg2" title="Message" style="width:400px;">
        <xp:text escape="true" id="computedField1" value="#{javascript:return @Unique();}">
        </xp:text>


    <xp:eventHandler event="onShow" submit="true"
        refreshMode="partial" refreshId="computedField1">
    </xp:eventHandler></xe:dialog>

了解潜在问题仍然很有趣。

答案 1 :(得分:0)

在对话框的All Properties部分,有一个名为'RefreshOnShow'的属性。

设置为true时,每次面板从隐藏状态变为可见状态时,面板的内容都将刷新。这应该可以解决您所看到的问题。

答案 2 :(得分:0)

可能不太可能,但xsp.properties中的页面持久性选项可能会改变页面在不同环境中的行为方式。数据库和服务器上有xsp.properties。 XPages Portable Command Guide有关于不同设置的更多详细信息,但设置可能会更改请求之间保留的内容。