0

我正在使用 GWT 应用程序引擎在本地主机中部署我的应用程序。当用户完成注册并单击“提交”按钮时,我想重定向到第二页,浏览器必须自动重定向到他的个人资料页面,其中包含他的注册详细信息。我使用休闲代码从第一页重定向到第二页;

字符串 url = GWT.getHostPageBaseURL()+"/UserViewProfile.html";

Window.Location.replace(url);

在我的情况下,第一页是 URL,就像:

http://127.0.0.1:8888/UserRegistration.html?gwt.codesvr=127.0.0.1:9997

当我在“提交”按钮上提交时,它正在重定向到 URL,例如:

http://127.0.0.1:8888/UserViewProfile.html

在第二页(UserViewProfile.html)中,我开发了简单的 HTML 内容和简单的文本框小部件来检查它的功能。但我只看到 HTML 内容,而不是“文本框”。要查看文本框,我必须输入如下 URL:

http://127.0.0.1:8888/UserViewProfile.html?gwt.codesvr=127.0.0.1:9997

如何在我的 URL 模式末尾自动访问最后一部分“?gwt.codesvr=127.0.0.1:9997” ?如果我手动添加它,在托管时可能会导致问题。请如果任何机构提供解决方案,那就太好了。

4

1 回答 1

1

我不明白用例。无论如何,我想您需要有条件地检查您是处于 DevMode 还是 ProdMode,并gwt.codesvr=127.0.0.1:9997相应地添加查询字符串。就像是:

String url = GWT.getHostPageBaseURL()+ "/UserViewProfile.html";
if (GWT.isProdMode()) {
  Window.Location.replace(url);
} else {
  Window.Location.replace(url + "?gwt.codesvr=127.0.0.1:9997");
}

GWT使用gwt.codesvr=127.0.0.1:9997查询字符串参数(简化)以所谓的开发模式引导您的应用程序,而不是生产模式(应用程序的实际编译版本)。如果没有此检查,如果您处于 DevMode,您最终会请求UserViewProfile.html查找应用程序的已编译版本(如果您从未编译过它,或者如果您最近刚刚清理了项目,则不会显示任何内容)。

另请注意,URL 重写(不仅仅是更改#片段标识符)意味着应用程序重新加载。

于 2013-04-30T11:39:28.353 回答