我们经常遇到StalePageException。我尝试通过在此代码之前在getStoredPage()方法中添加调试点在本地调试,然后我尝试了另一个相同流的请求。渲染计数没有更新,但在生产中我可以看到这个问题。有谁能告诉我是什么原因造成的,我怎么才能重现?
if (renderCount != null && pageInstance.getRenderCount() != renderCount)
{
throw new StalePageException(pageInstance);
}
StalePageException
通常在用户为相同的打开多个浏览器选项卡/窗口时抛出页面实例,例如通过从地址栏复制/粘贴当前url。然后在其中一个选项卡中发出更多请求,然后尝试使用其他选项卡中的一个。
Wicket进行此检查,以便用户不会使用过时的页面实例。假设有一个页面显示某个实体的详细信息。如果用户在tab1中删除了这个实体,那么他不应该能够在另一个选项卡中编辑相同的实体。