我想知道为什么GWT在没有参数的情况下不起作用?gwt.codesvr = 127.0.0.1:9997在url中,我在硬编码url的模块之间重定向,我必须设置此行不显示消息:模块XXX必须(重新)编译。
我希望以后当我从主机模式更改为我们的模式时不必更改此网址...
那么有没有更好的方法从模块链接到另一个模块?我在做:
GWT.getHostPageBaseURL() + "UserRegistration.html ?gwt.codesvr=127.0.0.1:9997 "
提前致谢。
答案 0 :(得分:8)
查询字符串参数由* .nocache.js查看,以触发加载您在浏览器中安装的开发模式插件,因此它将连接回指定的DevMode应用程序。
当您必须在页面之间重定向并且希望它们都以开发模式或Web模式运行时,最简单的方法是调整参数(如果可能的话,使用从现有参数获取的值,而不是硬编码)到!GWT.isProdMode()
:
if (!GWT.isProdModode()) {
// assumes 'url' doesn't contain a query-string yet
url += "?gwt.codesvr=" + Window.Location.getParameter("gwt.codesvr");
}
如果你自己不使用查询字符串,那么它只能与gwt.codesvr
参数一起存在或者不存在,你可以使用UrlBuilder
更简单:
UrlBuilder builder = Window.Location.createUrlBuilder();
builder.setPath(GWT.getHostPageBaseURL() + "UserRegistration.html")
//don't pass the history token around:
builder.setHash(null);
// builder.toString() will then keep the same query string.
并且它甚至不适应应用程序运行的当前“模式”,因为它只是无条件地复制查询字符串。
答案 1 :(得分:0)
该参数仅适用于开发模式。 请注意,如果您使用该参数对url进行硬编码,那肯定是错误的。