【问题标题】:JAVA gwt - saving info after refreshing pageJAVA gwt - 刷新页面后保存信息
【发布时间】:2016-03-12 11:25:09
【问题描述】:

目前,我正在使用 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 有一个特定的处理程序/方法/类或处理这个的东西。

这是您的意见和帮助。

【问题讨论】:

    标签: java gwt window refresh


    【解决方案1】:

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

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

    请阅读文档

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

    【讨论】:

      【解决方案2】:

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

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

      在 GWT 中:

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

      您不应依赖此事件来存储您的数据,因为很多情况都会阻止您这样做。您可能应该定期将草稿存储到本地存储或服务器。

      【讨论】:

      • 那么刷新后存储数据的最佳选择是什么?请发送链接或 smt 开始
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2014-08-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多