在 wicket 中,如何在点击后退按钮时使页面重新初始化

时间:2021-02-24 23:02:32

标签: wicket wicket-6 wicket-1.6

我正在使用 Wicket 6,我们遇到了这样一种情况:用户回击并且加载页面而没有从页面历史记录中对其进行初始化。我希望页面 init 运行,以便读取新鲜数据并且处于正确状态。我怎样才能让 wicket 做到这一点?

我以为我已经在使用很久以前有人建议的自定义 MountedMapper 来执行此操作,但是我在页面构造函数(接受 PageParameters 的构造函数)中有一个断点并且它没有运行。

自定义 MountedMapper:

  if (requestHandler instanceof ListenerInterfaceRequestHandler || requestHandler instanceof BookmarkableListenerInterfaceRequestHandler) { 
      return null; 
  } else { 
       return super.mapHandler(requestHandler); 
  } 

1 个答案:

答案 0 :(得分:2)

您可以使您的页面无状态,以便在每次访问时重新创建。

或者改进您的页面,以便在每次渲染时加载新数据: 要么使用自动提供最新数据的适当模型,要么覆盖 #onConfigure() 并更新,