1

设想:

  1. 用于在 Web 浏览器中编辑的用户预览 xpage。
  2. 开发人员将本地副本复制到服务器。
  3. 用户单击保存按钮并触发保存操作部分/完全刷新

在 8.5.2 中,整个数据库基于找不到 java 设计类而崩溃。在 8.5.3 中没有产生错误 CS/SS,但没有应用到文档的更改。好像如果您复制 sessionID 会被覆盖。有没有办法修复/检测它?

有任何想法吗?

谢谢

4

1 回答 1

2

它与这个效果有关:java.lang.ClassCastException 的含义: someClass 与 someClass 不兼容

简单地说,每次设计更改都会重置 XSP 引擎。从 8.5.3 开始,您可以通过Refresh entire application when design changesXPage 属性中的属性“”来控制它 - 将其关闭(自该版本以来的默认设置)只会“软重置”XSP 引擎。

无论如何,您可能会丢失一些作用域变量和 bean。这得出了一些要遵守的规则:

  • 不允许开发人员在工作时间更改生产中的设计。
  • 通知用户该问题(部分刷新的 onError 事件)- 不幸的是,蒂姆的评论解释说,在设计更改后,您不会从部分刷新中得到错误。简单的 CSJS 代码 ping 应用程序可用性并在应用程序没有响应时报告问题可以工作,但我不建议这样做:我们使用 ExtLib 中的“保持活动”控件,并且 domlog.nsf 中的故障排除成为一场噩梦 - 它充满了 ping (几乎一直 - 许多用户让他们的浏览器在一夜之间保持打开状态)。

  • 如果数据很重要,实现类似于谷歌应用的自动保存机制。

顺便说一句:这种效果类似于超时会话 - 部分刷新将失败并且用户需要重新加载页面(并且可能是松散的编辑)。

于 2013-10-01T12:55:51.090 回答