几秒钟后需要重新加载 XPage

Mik*_*ens 1 xpages

我试图让 XPage 在 1 秒后重新加载,但无法找出执行此操作的代码。有没有人有关于如何在 XPage 中执行此操作的示例?

Knu*_*ann 5

在客户端 JavaScript 代码块中使用 JavaScript 的 setTimeout() 函数在<xp:scriptBlock1 秒(1000 毫秒)后执行重新加载:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
    <xp:scriptBlock id="scriptBlockReload">
        <xp:this.value>
        <![CDATA[
            setTimeout(function() {
                 location.reload();
            }, 1000)
        ]]>
        </xp:this.value>
    </xp:scriptBlock>
    <xp:text escape="true" id="computedField1">
        <xp:this.value><![CDATA[#{javascript:new Date().getTime()}]]></xp:this.value>
    </xp:text>
</xp:view>
Run Code Online (Sandbox Code Playgroud)

如果您只想刷新 XPage 的一部分而不是完全重新加载它,您可以替换

location.reload();
Run Code Online (Sandbox Code Playgroud)

XSP.partialRefreshGet("#{id:computedField1}", {})
Run Code Online (Sandbox Code Playgroud)

它将在一秒后刷新一次计算字段1。由您指定哪种 id 取决于您。它可以是包含 XPage 的多个甚至所有组件的面板的 ID。