【问题标题】:Prevent PageExpired防止页面过期
【发布时间】:2021-03-05 08:26:16
【问题描述】:

我的检票口应用程序中有这个问题。我正在使用检票口 6.13;

这是一步一步发生的事情:

- PageA is opened.
- user click on button close twice or more times, clicking on that button cause PageA to be closed and PageB to be opened
- PageExpired occurs 

点击close按钮的第一个请求被执行,PageA被关闭,PageB被打开。 点击close按钮的下一个请求在触摸页面中找不到页面,因此抛出PageExpired

知道如何阻止第二个请求执行,以便应用程序继续正常工作吗?

谢谢 斯雷坦

【问题讨论】:

    标签: wicket wicket-6


    【解决方案1】:

    默认情况下,PageA 不仅应该在touchedPages(内存中)中,而且应该在 DiskStore(在硬盘/SSD 上)中,因此 Wicket 应该能够通过其 id 找到页面。

    我不确定 6.13 是否有它(因为它非常旧),但 PageExpiredException 的 Javadoc 为这个异常列出了 the possible reasons

    • 该页面从未存储在那里,例如存储过程出错
    • http 会话已过期,因此与此会话相关的所有页面也将被删除
    • 页面实例已被删除,因为超出了存储大小

    我猜第一个原因是你的情况有问题。

    【讨论】:

      猜你喜欢
      • 2020-05-27
      • 1970-01-01
      • 2022-01-23
      • 2012-09-06
      • 1970-01-01
      • 2014-09-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多