设想:
- 用于在 Web 浏览器中编辑的用户预览 xpage。
- 开发人员将本地副本复制到服务器。
- 用户单击保存按钮并触发保存操作部分/完全刷新
在 8.5.2 中,整个数据库基于找不到 java 设计类而崩溃。在 8.5.3 中没有产生错误 CS/SS,但没有应用到文档的更改。好像如果您复制 sessionID 会被覆盖。有没有办法修复/检测它?
有任何想法吗?
谢谢
它与这个效果有关:java.lang.ClassCastException 的含义: someClass 与 someClass 不兼容。
简单地说,每次设计更改都会重置 XSP 引擎。从 8.5.3 开始,您可以通过Refresh entire application when design changes
XPage 属性中的属性“”来控制它 - 将其关闭(自该版本以来的默认设置)只会“软重置”XSP 引擎。
无论如何,您可能会丢失一些作用域变量和 bean。这得出了一些要遵守的规则:
通知用户该问题(部分刷新的 onError 事件)- 不幸的是,蒂姆的评论解释说,在设计更改后,您不会从部分刷新中得到错误。简单的 CSJS 代码 ping 应用程序可用性并在应用程序没有响应时报告问题可以工作,但我不建议这样做:我们使用 ExtLib 中的“保持活动”控件,并且 domlog.nsf 中的故障排除成为一场噩梦 - 它充满了 ping (几乎一直 - 许多用户让他们的浏览器在一夜之间保持打开状态)。
如果数据很重要,实现类似于谷歌应用的自动保存机制。
顺便说一句:这种效果类似于超时会话 - 部分刷新将失败并且用户需要重新加载页面(并且可能是松散的编辑)。