【问题标题】:Restore the previous session, when browser back button is clicked, Wicket恢复上一个会话,当点击浏览器后退按钮时,Wicket
【发布时间】:2015-10-03 00:13:39
【问题描述】:

假设会话中有一个int x = 10,当我点击一个链接时,我在链接点击事件中将它的值更改为x++

有没有一种方法,如果我点击浏览器的后退按钮,会话将恢复到以前的版本。这意味着,在这种情况下,x 的值将是 10,即初始值。

【问题讨论】:

  • 我不知道如何实现这个

标签: java session wicket httpsession


【解决方案1】:

将此类数据放在 Wicket 组件中,例如页面,而不是放在 http/Wicket 会话中。

【讨论】:

  • 它不会那样工作。我刚刚给你举了一个例子。实际上,我的会话中有各种标志,它们指示当前的报告和类似的东西。例如:如果您单击某个链接,我将标志的值设置为某个值,基于该值我在页面上填充日期。比方说,我点击了一个类似的链接,然后点击返回按钮,然后继续点击另一个链接,它实际上会显示错误的数据,因为标志的值是错误的。
  • 通过回溯历史,您将使用旧版本的页面,即标志也将具有其旧值。修改此类标志时,请确保将页面标记为脏 (Page#dirty(false)),以便存储它的新版本。通常 Wicket 会自动为您执行此操作,但有时您需要明确说明。
  • 我已经尝试检查标志值,它们不会保留旧值。
【解决方案2】:

您在谈论历史,而不是不同的会议。历史通常使用历史令牌来实现。查看 GWT 指南: http://www.gwtproject.org/doc/latest/DevGuideCodingBasicsHistory.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-30
    • 2010-09-20
    • 2020-04-19
    • 1970-01-01
    相关资源
    最近更新 更多