如何在gwt中避免addWindowClosingHandler / ClosingEvent不需要的重载请求

时间:2012-07-10 11:14:23

标签: java gwt smartgwt

如果错误用户按下F5 OR 登录后刷新按钮,他应该停留在同一页面上。现在他是 重定向到登录页面。

我使用以下代码保持同一页面。

但我不想通过写信来警告用户这种情况 onWindowClosing()方法中的event.setMessage()。我只是想做 功能将感觉用户甚至没有任何事情发生 如果他错误地完成了浏览器更新。

我希望避免[或如何处理手动取消手动事件的不必要的弹出窗口,因为它不会重新出现,即com.google.gwt.user.client.Window.confirm( “你真的想退出吗?”)]

    Window.addWindowClosingHandler(new Window.ClosingHandler() {
    @Override
    public void onWindowClosing(ClosingEvent event) {
     //how to prevent sending reload request OR [on cancel button MANUALLY]
    }});

1 个答案:

答案 0 :(得分:0)

在上面的一些评论中,提到了“活动和地点”作为您的问题的解决方案。当然,这是一个美好而现代的。您可以在这些文档中找到有关GWT文档的更多详细信息。

但是如果你不想走这条路,另一个解决方案是使用GWT提供的历史机制。您的应用程序的每个“页面”(而不是部分)都应具有特定的令牌。您所要做的就是创建一个History更改处理程序,并根据用户的重新加载操作传递的标记呈现相应的对象。如果您希望在用户注销之间有一些“内存”(但不是浏览器重启),您可以将此令牌保存在本地存储中,并在用户登录后使用它来将她引导到她所在的最后一页。