如何在GWT中打开一个新的浏览器页面

时间:2014-05-22 11:37:48

标签: gwt

我想在浏览器中打开新页面,这将是一些组件。 就像我在一个页面“MainPage”它的复合

现在点击一个按钮我需要打开一个新页面“DiagramPage”(它是一个复合词)

我不想使用完整的MVP(因为这些是我的应用中只有2页)。

其次当我在DiagramPage中时(单击MainPage中的按钮)。

当我点击浏览器后退按钮时,从Diagrampage获取它,它应该带我回到MainPage并保存所有内容,就像我之前在主页上检查的所有复选框一样。

任何建议。

谢谢

1 个答案:

答案 0 :(得分:0)

在这种情况下,GWT History应该就是您所需要的。请阅读this以获取更多信息。

这一切都适用于添加到网址的历史记录,例如http://test.com/#firstPage

要启用历史记录,请在HTML模板中包含此内容:

<iframe src="javascript:''"
    id="__gwt_historyFrame"
    style="position:absolute;width:0;height:0;border:0"></iframe>

您需要收听此类历史更改事件:

History.addValueChangeHandler(new ValueChangeHandler<String>() {
    public void onValueChange(ValueChangeEvent<String> event) {
        String historyToken = event.getValue();
        /* Set your new page content here based on the token */
    }
});

然后以某种数据结构将用户选择存储在新页面上。当用户单击后退按钮时,您将返回上一个“页面”,您可以从该页面获取该数据结构中的信息。