【问题标题】:Wicket Push service doesn't work after backWicket Push 服务在返回后不起作用
【发布时间】:2016-03-18 22:56:34
【问题描述】:

我正在玩 Wicketstuff Push 项目。或者更具体的推送计时器。现在我遇到了后退按钮支持的问题。

正如您在usage 页面上所见,使用推送服务的标准方法是在组件的构造函数中安装推送节点。

public CustomPanel()  {
    // setup UI components ...

    IPushService pushService = TimerPushService.get();
    IPushNode<Message> pushNode = pushService.installNode(this, handler);
    pushService.connectToChannel(pushNode, channel);
}

然后就可以向频道推送消息了

IPushService pushService = TimerPushService.get();
pushService.publish(channel, message);

它可以完美运行,直到您将浏览器中的窗口位置更改为其他 URL,然后按返回按钮。 Wicket 从其页面映射中获取页面并呈现它。当然,不会调用组件的构造函数,因为组件层次结构被重用。但这意味着推送服务不知道您的组件并且推送不再起作用。

有没有更好的方式来使用推送服务?如何解决这个问题?

【问题讨论】:

    标签: java wicket


    【解决方案1】:

    如果 Wicketstuff Push 有 API 来检查当前页面是否连接,那么您可以在 onConfigure() 方法中移动注册码。每次页面渲染都会调用它。

    【讨论】:

      猜你喜欢
      • 2015-06-11
      • 1970-01-01
      • 2012-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多