JAVA gwt - 刷新页面

时间:2016-03-12 11:25:10

标签: java gwt window refresh

目前,我正在使用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

最后(最差)的机会是将textArea中的数据存储在file.txt中,刷新后我可以从文件中读取信息,这就是全部。但是GWT可能有一个特定的处理程序/方法/类或者处理它的内容。

这是你的意见和帮助。

3 个答案:

答案 0 :(得分:0)

当浏览器关闭窗口时(由于刷新,或者用户关闭了窗口,更改了URL等),不允许脚本阻止此操作。它并不特定于GWT。

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

在GWT中:

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

您不应该依赖此事件来存储您的数据,因为很多条件都可能阻止您执行此操作。您应该定期将草稿存储到本地存储或服务器。

答案 1 :(得分:0)

您可能希望将数据存储在UIPageControl中。在GWT中,这是sessionStorage类。

答案 2 :(得分:0)

我遇到了同样的问题。你可以轻松克服它。

import com.google.gwt.storage.client.Storage;
  private Storage stockStore = null;
  stockStore = Storage.getLocalStorageIfSupported();

请阅读文档

http://www.gwtproject.org/doc/latest/DevGuideHtml5Storage.html#UsingStorage