1

我尝试了展示如何从历史中获取数据以重新生成 UI的示例;我在所有“历史使用”示例中看到的主要内容仅与 UI 重新生成有关,因此它不是静态方式......

但是“每个 UI 状态都可能有其独特的 url,就像 JSF 对流所做的那样”呢?例如,我有应用程序网址,例如

http://localhost:8080/myapp/MyApp.html

应用程序默认 UI 包含有助于浏览我的测试目录的主菜单;我试图通过以这种方式构建 url 来使 UI 动态保持在历史上成为可能

http://localhost:8080/myapp/MyApp.html#menu_testcategory_page1

但是当我点击互联网浏览器“刷新”按钮时,网址保持不变,http://localhost:8080/myapp/MyApp.html#menu_testcategory_page1但 UI 恢复到默认状态:(

所以我的问题是

即使在单击浏览器的刷新按钮后(我的意思是卸载/加载窗口事件发生),纯 gwt 是否有最佳方式保持相同的 UI 状态?

谢谢

PS 重量 2.3

4

2 回答 2

3

您应该实施活动和地点模式: http: //www.gwtproject.org/doc/latest/DevGuideMvpActivitiesAndPlaces.html

我用了 3 年,效果很好。

但是请注意,当您重新加载一个页面时,您会丢失所有的状态、数据等。如果您需要保留其中的一些,您可以使用 Place (#page1) 和一个令牌的组合,该令牌告诉相应的Activity 代表这个Place 的View 的状态,即(#page1:item=5)。

于 2014-03-08T16:00:09.783 回答
1

你可能只是忘了打电话

History.fireCurrentHistoryState();

从你的入口点。

于 2014-03-08T16:05:02.553 回答