为什么GWT不´;t在没有?gwt.codesvr=127.0.0.1:9997的情况下工作

为什么GWT不´;t在没有?gwt.codesvr=127.0.0.1:9997的情况下工作,gwt,Gwt,我想知道为什么没有参数GWT不能工作?GWT.codesvr=127.0.0.1:9997在url中,我在模块之间重定向硬编码url,我必须设置此行不显示消息:模块XXX必须(重新)编译 我希望将来当我从主机模式更改为we模式时,不必更改此URL 那么,有没有更好的方法将一个模块链接到另一个模块?我正在做: GWT.getHostPageBaseURL() + "UserRegistration.html ?gwt.codesvr=127.0.0.1:9997 " 提前感谢。该参数仅用于开发模

我想知道为什么没有参数GWT不能工作?GWT.codesvr=127.0.0.1:9997在url中,我在模块之间重定向硬编码url,我必须设置此行不显示消息:模块XXX必须(重新)编译

我希望将来当我从主机模式更改为we模式时,不必更改此URL

那么,有没有更好的方法将一个模块链接到另一个模块?我正在做:

GWT.getHostPageBaseURL() + "UserRegistration.html ?gwt.codesvr=127.0.0.1:9997 "

提前感谢。

该参数仅用于开发模式。
请注意,如果您使用该参数对url进行硬编码,那么这肯定是错误的。

该查询字符串参数由*.nocache.js查看,以触发加载您在浏览器中安装的开发模式插件,因此它将连接回指定的DevMode应用程序

当您必须在页面之间重定向,并且希望所有页面都在开发模式或web模式下运行时,最简单的方法是将参数(如果可能,使用从现有页面获取的值,而不是硬编码的值)设置为
!GWT.isProdMode()

if(!GWT.isProdModode()){
//假设“url”尚未包含查询字符串
url+=“?gwt.codesvr=“+Window.Location.getParameter”(“gwt.codesvr”);
}
如果您自己不使用查询字符串,因此只希望它与
gwt.codesvr
参数一起存在或不存在,则可以使用
UrlBuilder
使其更简单:

UrlBuilder=Window.Location.createUrlBuilder();
setPath(GWT.getHostPageBaseURL()+“UserRegistration.html”)
//不要到处传递历史标记:
builder.setHash(null);
//然后,builder.toString()将保留相同的查询字符串。
它甚至不受应用程序运行的当前“模式”的限制,因为它只是无条件地复制查询字符串。

GET.getHostPageBaseURL()
返回绝对URL,包括scheme、host:port。在
setPath()
中使用此选项会导致URL格式错误。但是,如果您完全跳过调用
setPath()
,它将假定页面的当前URL,这适用于典型的GWT单页webapp。