历史管理(刷新按钮)

时间:2010-08-06 11:26:14

标签: gwt button browser refresh gwt-history

请介绍一下GWT中的数据管理。我在我的旅行门户项目中使用Gwt,我的网页与之前的页面数据相关,但是当我按下浏览器的刷新按钮时,我的数据就丢失了。所以如果有办法解决这个问题,请通知我。

4 个答案:

答案 0 :(得分:1)

GWT History类不能用于管理页面刷新(仅后退/前进)。

单击刷新按钮会向服务器发送请求,并从服务器重新加载应用程序的状态。就这样。你必须处理它。

如果您不想丢失数据,则必须找到一种方法在需要时将其保存在服务器上。

答案 1 :(得分:1)

如果您的用户拥有现代浏览器,您可以使用HTML5功能localStorage在页面刷新之间将数据存储在浏览器中。

检查this主题是否支持浏览器。

答案 2 :(得分:1)

您可以创建一个网址片段来对数据进行编码。

String location =“ny”; History.newItem( “位置=” +位置);

将使用www.example.com#location = ny

的网址片段生成

然后,如果刷新浏览器,您可以解码url片段并确定该位置是否为ny。

对于多个参数,您可以创建一个复杂的片段并对其进行解析。

History.newItem( “开始=” + startLocation + “&安培;端=” + EndLocation组件); 然后网址看起来像www.example.com#start = newyork& end = boston

答案 3 :(得分:0)

基本思路是在URL fragment(#后面的网址部分)中存储一些状态 - 例如your-site.com/app#page-1

要监听片段的更改,请使用GWT的History类。当用户前进/后退或刷新页面时,片段将发生变化。

因此,当网址为#page-1#page-2等时,您的应用可以执行不同的操作。

更加通用和可扩展的解决方案类似于gwt-platformPlace架构(以及演示者,对于大型应用也是一个好主意)