Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GWT中不带哈希(#)的URL_Java_Gwt_Url Rewriting - Fatal编程技术网

Java GWT中不带哈希(#)的URL

Java GWT中不带哈希(#)的URL,java,gwt,url-rewriting,Java,Gwt,Url Rewriting,在GWT中,我需要在URL中使用#,以便从一个页面导航到另一个页面,例如www.abc.com/#questions/10245857,但由于这个原因,我在共享URL时面临问题。 谷歌刮痧者只在www.abc.com之前阅读网址 现在,我想从我的url中删除#,并希望保持它的直截了当:www.abc.com/question/10245857 我不能这样做。请帮助我与一些链接或代码。 谢谢表示应用程序内部的位置,因此要更改URL,尝试创建不同的GWT入口点模块可以解决此问题–这次只有一个web应

GWT中,我需要在URL中使用#,以便从一个页面导航到另一个页面,例如www.abc.com/#questions/10245857,但由于这个原因,我在共享URL时面临问题。 谷歌刮痧者只在www.abc.com之前阅读网址

现在,我想从我的url中删除#,并希望保持它的直截了当:www.abc.com/question/10245857

我不能这样做。请帮助我与一些链接或代码。
谢谢

表示应用程序内部的位置,因此要更改URL,尝试创建不同的GWT入口点模块可以解决此问题–这次只有一个web应用程序,但每个模块都可以通过不同的URL访问。查看本文

如果您想要不使用散列的URL,那么您必须使用HTML5
pushState
()

如果直接使用
历史
类,则无法执行此操作;您必须创建自己的
History
类,该类使用
pushState
,并在代码中使用该类,而不是GWT内置类

如果您使用Places,那么就容易多了,因为您所要做的就是实现一个
Historian
,而不是使用
DefaultHistorian
;e、 g

如果您需要支持没有
pushState
的浏览器,那么事情就会变得复杂得多

不过,还有其他选择:

  • 您可以使用
    #并实现必要的服务器端钩子:(有些项目通过在服务器上的HTMLUnit伪浏览器中运行GWT应用程序来实现这一点;IIRC,GWT平台有这样一个功能)
  • 你可以像谷歌地图或谷歌群组那样为你的“地点”提供永久链接;看