如何在GWTP中重定向并重新加载页面?

如何在GWTP中重定向并重新加载页面?,gwt,gwtp,Gwt,Gwtp,好的,我正在使用GWTP构建我的应用程序。我有一个注册页面(mydomain.com#注册)和一个个人资料页面(mydomain.com#个人资料) 我希望在用户成功注册后,应用程序将重定向到配置文件页面&然后reload()配置文件页面 以下是我所做的: if(signedUpSuccessfully){ PlaceRequest request=new PlaceRequest(NameTokens.profile); placeManager.revealPlace(request

好的,我正在使用GWTP构建我的应用程序。我有一个注册页面(
mydomain.com#注册
)和一个个人资料页面(
mydomain.com#个人资料

我希望在用户成功注册后,应用程序将重定向到配置文件页面&然后
reload()
配置文件页面

以下是我所做的:

if(signedUpSuccessfully){
  PlaceRequest request=new PlaceRequest(NameTokens.profile);
  placeManager.revealPlace(request);
  Window.Location.reload();
}
但是,在完成运行后,应用程序确实重新加载了,但它仍然在注册页面而不是个人资料页面中

那么,如何让应用重定向到配置文件页面,然后重新加载配置文件页面


我不想使用Window.open,因为它可能会打开新的浏览器,这非常嘈杂。

重新加载后,页面将刷新,因此实际上只是重新加载整个应用程序。我能想到的一种方法是通过调用window.location=mydomain.com#profile将请求重定向到mydomain.com#profile。GWTP应该能够处理这一问题

您最好使用“profile”名称标记创建一个文件,并在ProfilePresenter的生命周期方法中处理“刷新”逻辑


可能你需要在你的应用程序上保存一个包含用户信息的单例(在成功验证后填写)。您可以将此单例注入ProfilePresenter,并在onReveal方法中处理视图的显示。有关具体示例,请参阅。

谢谢您的回答。我可以使用Window.Location.replace(url),但我想使用相对url。这就是我想这样调用的Window.Location.replace(“#!profile”);但我犯了个错误。您知道如何捕获“#”之前的url部分,以便我可以像此窗口一样执行。Location.replace(beforeHashUrl+“#!profile”);我找到了一个解决方案字符串newURL=Window.Location.createUrlBuilder().setHash(“!profile”).buildString();Window.Location.replace(newURL);