如果任何文档在编辑模式下保持打开一段时间(例如10分钟或更长时间),然后尝试保存,则保存将被丢弃,文档只是刷新并在读取模式下打开。如何防止这种情况,因为它会导致用户丢失输入的数据。
答案 0 :(得分:4)
听起来您的页面已从存储的页面列表中删除。 XPages将有限数量的页面存储在内存或磁盘上,具体取决于为应用程序设置服务器页面持久性的方式。所以我的猜测是你在不同的浏览器选项卡中打开应用程序中的其他页面。
一旦达到限制,页面将按照外观顺序从列表中删除。这意味着XPage不知道不再存储的特定页面的组件树。这解释了为什么您的更改被“丢弃”以及重新加载页面的原因。
默认存储页数在8.5.x中仅为4,在9.0.x中为16。
我的建议是通过更改Xsp属性的“持久性”选项卡上的服务器页面持久性设置来增加此数量。
您还应该知道通过在xp:view组件上将属性viewState
设置为"nostate"
来将特定XPage标记为不存储状态的选项。这对于只读页面和不需要存储状态的“xagents”非常有用。
注意:keepSessionAlive控件在这里没有帮助,因为你需要“保持组件树活着” - 而不是会话。
答案 1 :(得分:0)
我猜你可能会遇到“会话超时”。
我建议您做的是设置较长的应用程序超时和较短的会话超时 - 并使用“保持活动”自定义控件以确保在编辑时会话不会超时。
我试图在blog article that may give you a better overview; - )
中解释其中的一些功能/约翰