在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的新标签页中打开一个请求?
答案 0 :(得分:1)
为什么不呢:
String url = Window.Location.createUrlBuilder().setHash(placeManager.buildHistoryToken(request)).buildString();
Window.open(url, "_blank", null);