目前,我正在使用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可能有一个特定的处理程序/方法/类或者处理它的内容。
这是你的意见和帮助。
答案 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