在客户端 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。