2016-03-12 28 views
0

目前,即时通讯工作与Java gwt和我停止studdenly,因为一个问题发生。我希望我的信息(例如字符串)在点击刷新按钮后保存。JAVA gwt - 刷新页面后保存信息

// user enters something in TextArea textArea1 object 

    Window.addWindowClosingHandler(new Window.ClosingHandler() { 
        public void onWindowClosing(Window.ClosingEvent closingEvent) { 
        //maybe there is a function or what      
        pleaseSaveInfomation(textArea1); 
        } 
       }); 

我尝试这样做,但我知道如何正确地实施,以我的源代码: https://stackoverflow.com/a/14220746/5010218

最后(最差)的机会是将数据从文本区域存储在file.txt的,我刷新后可以从文件中读取信息,这就是所有。但也许GWT有一个特定的处理程序/方法/类或什么来处理这个。

这就是为您的意见和帮助。

回答

0

当浏览器关闭一个窗口(由于刷新,或者用户已关闭窗口,更改了url等)时,不允许脚本阻止此操作。这不是GWT特有的。

但是,您可以建议浏览器代理向用户显示确认。您可以通过关闭事件的message属性来执行此操作。

在GWT:

Window.addWindowClosingHandler(new Window.ClosingHandler() { 
    public void onWindowClosing(Window.ClosingEvent closingEvent) { 
     closingEvent.setMessage("Confirm ?"); 
    } 
}); 

你不应该依赖于这个事件来存储你的数据,很多的条件可以阻止你这样做。您应该定期将草稿存储到本地存储或服务器。

+0

究竟什么是刷新后存储数据的最佳选择?请发送链接或smt开始 – popasas

0

您可能想要将您的数据存储在sessionStorage中。在GWT中,这是Storage类。