Java 使用wicket通过AJAX更改URL

Java 使用wicket通过AJAX更改URL,java,ajax,url,wicket,Java,Ajax,Url,Wicket,在ApacheWicket中,有没有一种方法可以让AJAX调用在不重定向或重新加载页面的情况下更改当前页面URL 例如,假设我们在url中: localhost:8080/someUrl 我希望当我单击ajax链接时,会执行一些操作,url会更改为,比如: localhost:8080/otherUrl 无需重定向,只需更改浏览器中显示的url即可。 这可能吗 谢谢 曼纽尔不,不是。如果更改浏览器中的位置,将向该URL发出新请求 (您可以使用window.location.href=newU

在ApacheWicket中,有没有一种方法可以让AJAX调用在不重定向或重新加载页面的情况下更改当前页面URL

例如,假设我们在url中:

localhost:8080/someUrl
我希望当我单击ajax链接时,会执行一些操作,url会更改为,比如:

localhost:8080/otherUrl
无需重定向,只需更改浏览器中显示的url即可。 这可能吗

谢谢

曼纽尔不,不是。如果更改浏览器中的位置,将向该URL发出新请求


(您可以使用
window.location.href=newUrl
,但页面会重新加载)

可以使用javascript更改url的唯一部分是哈希

您可以将
localhost:8080/#/someUrl
更改为
localhost:8080/#/otherUrl

使用
window.location.hash执行此操作

下面是一个flash站点的示例,它使用这个概念来允许深度链接URL:

实际上你可以! 但这与Wicket一点关系都没有。 这就是HTML5中新的历史API的内容。
只需在谷歌中搜索“html5历史API示例”即可享受。

帮助实现此功能,投票(或贡献!)

如果你想一想,如果浏览器允许类似操作,这将是一个巨大的安全漏洞。你可以在地址栏更改URL,正如@martin-g在他的回答中所说的,这一行可以通过历史实现:window.History.pushState(“,”,url);我更感兴趣的是如何使用新URL中的参数而不是旧URL中的参数强制连接到http链接。你看到这个问题的日期了吗,@AzatMartirosyan?HTML5当时没有在生产中使用。