0

在 GWTP 中,我们可以通过以下方式进入新的 url:

    PlaceRequest request = new PlaceRequest(NameTokens.myTok).with("param1","123");
    placeManager.revealPlace(request);

但是,上述这些代码会在当前选项卡中打开一个新的 url(例如:abc.com#myTok;param1=123)。我的问题是如何让 placeManager 在新标签页中打开新网址?

在互联网上可以找到其他解决方案,但我不确定它是否是好的解决方案。我们可以

    String url = Window.Location.createUrlBuilder()
    .setHash("myTok;param1="+URL.encodeQueryString("123"))
    .buildString(); 
    Window.open(url, "_blank", null);

我认为第二个解决方案并不优雅,因为我们必须自己手动将参数放入 url,而在第一个中,所有参数都包含在.with方法中。

那么如何让 placeManager.revealPlace 在 GWTP 的新选项卡中打开请求?

4

1 回答 1

1

为什么不只是:

String url = Window.Location.createUrlBuilder().setHash(placeManager.buildHistoryToken(request)).buildString();
Window.open(url, "_blank", null);
于 2013-07-11T12:30:19.623 回答