在 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 的新选项卡中打开请求?