复杂的 Xpage 需要很长时间才能进行部分刷新

Complex Xpage takes long for partial refreshs

我有一个复杂的 xpage,其中包含许多嵌套的自定义控件。每次执行部分刷新都需要 4 秒以上才能完成。如果我消除了复杂性,它就可以正常工作并且速度如愿。

我对这个复杂的 Xpage 进行了测试,即使在部分执行模式下,这个简单的测试也需要超过 4 秒才能完成。

<xp:button value="Label" id="button1">
    <xp:eventHandler event="onclick" submit="true" refreshMode="partial" refreshId="refreshPanel" disableValidators="true" execMode="partial" execId="inputText1">
    </xp:eventHandler>
</xp:button>
<xp:div id="refreshPanel">
    <xp:inputText id="inputText1"></xp:inputText>
</xp:div>

execution time of partialrefresh

有人对此有提示吗?任何可以调整的服务器设置?

即使是部分刷新全部 XPage 控件的值也已提交到服务器。 "partial" 意味着在这种情况下只有 label1 部分 returns 给客户端。但这是一个完整的提交,这可能需要时间...

不过您可以提交部分内容。添加

execMode="partial" execId="button1"

到您的 eventHandler 属性。这次只提交 execId 的值。在 execId 中放入本次局部刷新需要提交的 id(可能是一个 panel)。

查看 here 了解有关部分执行模式的更多信息。

您可以进行一些小调整以帮助加快速度(一般而言),但我不确定它们对单个复杂页面有何帮助,但是......

  • 更改服务器页面持久性设置以将当前页面保留在内存中
  • 尽量减少使用 SSJS
  • 部分执行模式(Knut 已经提到)
  • 支持并发用户加载
  • 将 Maxheap 大小保持在可用 RAM 的 ¼
  • 对于您的 XSP 属性,启用“使用 运行 时间优化的 java 脚本 和 CSS 资源”
  • 设置您的值绑定,以便它们在页面加载时计算。

以上所有内容都是 tips/recommendations 这些年来我从其他开发人员那里了解到的,我 implement/try 在可能的情况下自己实现,所以可能值得尝试 some/all 看看是否有帮助吗?