Xpages 刷新页面后,按钮后面的SSJS代码将运行

Xpages 刷新页面后,按钮后面的SSJS代码将运行,xpages,ssjs,Xpages,Ssjs,我有一个按钮后面的SSJS代码。当我单击按钮时,代码会在另一个数据库中创建一个文档 当我单击按钮时,它工作正常,但我查看Domino管理控制台时发现按钮背后的代码工作了两次。。我想当页面刷新后,它会再次工作吗?我怎样才能预防它? 我错过了什么 <xp:button value="Label" id="button1"> <xp:eventHandler event="onclick" submit="true" refreshMode="complet

我有一个按钮后面的SSJS代码。当我单击按钮时,代码会在另一个数据库中创建一个文档

当我单击按钮时,它工作正常,但我查看Domino管理控制台时发现按钮背后的代码工作了两次。。我想当页面刷新后,它会再次工作吗?我怎样才能预防它? 我错过了什么

<xp:button value="Label" id="button1">

    <xp:eventHandler event="onclick" submit="true"
        refreshMode="complete">
        <xp:this.action><![CDATA[#{javascript:print("Before createNewDoc()");
createNewDoc();
print("After createNewDoc()");
}]]></xp:this.action>
    </xp:eventHandler></xp:button>


将打印语句添加到
beforePageLoad
afterPageLoad
等事件中,以确认其运行位置。此外,使用XPages OpenLogger或其他一些可以输出完整堆栈跟踪的日志框架也是值得的。这可能会标识代码在刷新中是否运行了两次,以及从何处运行


没有理由从按钮上运行代码两次。我假设这是脚本库中的一个SSJS函数,可能是其他东西触发了它。

请包含按钮的XML标记。它可能无法确定原因,但屏幕截图不够。它是什么意思“请包含按钮的XML标记”:(对不起,我不知道它是什么意思:(我在我的问题中添加了完整的代码。我想这就是你的意思?在其他事件中是否有其他代码?你能发布整个XPage的标记吗?