如何在GWT应用程序中更改URL

如何在GWT应用程序中更改URL,gwt,Gwt,我正在处理一个gwt多页项目,我使用这些代码在html页面之间切换,在这种情况下,从index.html切换到signup.html页面: public static native void fireChangePage(String url)/*-{ $wnd.location.href = url; }-*/; public void goToSignUpPage(boolean isDeployed) { String url = (isDeployed == tru

我正在处理一个gwt多页项目,我使用这些代码在html页面之间切换,在这种情况下,从index.html切换到signup.html页面:

public static native void fireChangePage(String url)/*-{
        $wnd.location.href = url;
}-*/;

public void goToSignUpPage(boolean isDeployed) {
  String url = (isDeployed == true ? "signup.html" : "signup.html?gwt.codesvr=127.0.0.1:9997");
        fireChangePage(url);
}
当从index.html的入口点调用
fireChangePage
时,出现错误404。 手动更改浏览器上的url,例如:index.html?gwt.codesvr=127.0.0.1:9997,以注册.html?gwt.codesvr=127.0.0.1:9997,这样可以说问题出在本机函数
fireChangePage


本机函数可能有什么问题?还是有比这更好的方法

如果是GWT项目,则应该在位置之间切换(使用PlaceController),而不是在HTML页面之间切换。无论如何,如果必须这样做,我建议使用
com.google.gwt.user.client.Window.Location
类(它由框架提供,工作正常)。

尝试在文档路径中添加斜杠,即
/signup.html

我确实使用了Window.Location.replace(url),但它也返回错误404。实际上,对我有效的方法是使用HTML对象并放置有效的链接,但是使用这种方法会创建一个“超链接”(蓝色的超链接),这在我的gwt应用程序中并不太好看。因此,当位置发生更改(按Window.location)时,当您点击“回车”时,您在浏览器中看到404错误代码(请浏览器重试),是否也会出现404错误?(您说过,如果手动指定,您可以看到正确的页面-因此,当您单击enter时,它与手动指定时相同)。我很确定这和你的URL有关——我已经使用了很多次Window.Location,每一次都很好。