如何让placeManager.revealPlace在GWTP的New Tab中打开一个请求?

时间:2013-07-11 07:10:52

标签: url gwt gwt-platform gwtp

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

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

但是,以上代码会在当前标签中打开一个新网址(例如: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的新标签页中打开一个请求?

1 个答案:

答案 0 :(得分:1)

为什么不呢:

String url = Window.Location.createUrlBuilder().setHash(placeManager.buildHistoryToken(request)).buildString();
Window.open(url, "_blank", null);