Wicket句柄javascript URL更改
我有一个带有地理地图的页面,安装在Wicket句柄javascript URL更改,java,html,wicket,wicket-6,Java,Html,Wicket,Wicket 6,我有一个带有地理地图的页面,安装在'/map/#{zoom}/#{lat}/#{lon}'上。地图在'/map/'处可见,但也在'/map/z/x/y'处可见,位于不同位置的中心。如果未设置所有的zoom、lat和lon,则会在默认位置显示地图 平移映射时,当前URL将使用javascript更新:history.replaceState({},“,”/map/z/x/y”) 但是,当在“/map”访问地图时,所有wicket生成的URL都是相对于“/map”,例如,主页指的是“…”。但在平移之
'/map/#{zoom}/#{lat}/#{lon}'
上。地图在'/map/'
处可见,但也在'/map/z/x/y'
处可见,位于不同位置的中心。如果未设置所有的zoom
、lat
和lon
,则会在默认位置显示地图
平移映射时,当前URL将使用javascript更新:history.replaceState({},“,”/map/z/x/y”)
但是,当在“/map”访问地图时,所有wicket生成的URL都是相对于“/map”
,例如,主页指的是“…”
。但在平移之后,主页的相对url不正确,实际上指向/map/z/x
,这将再次显示地图
有没有办法强制Wicket生成绝对url,或者有没有办法通知Wicket当前url已更改
编辑:
这个问题也以不同的方式出现。我有一个预定义的概览列表,由它们的/z/x/y
坐标定义。当z
相等时,创建的链接相对于z
。但是,当缩放更改时,新的z
值对于链接的概览不正确
例子:
我有两个预定义的概述:
A=10/33/44
和B=10/66/77
。单击A
时,B
链接的URL将更改为。/../66/77
。平移和缩放地图时,(浏览器)URL将更改为4/12/3
。当点击B
链接时,得到的URL是4/66/77
另一个选项是从头更新URL
在页面的构造函数中,如果某些参数没有值,则设置默认值:
public MapPage(PageParameters params) {
super(params); // this is important!
String lon = params.get("lon").toString();
if (lon == null) params.set("lon", DEFAULT_LON);
// same for lan and zoom
}
通过这种方式,Wicket在创建任何链接时都会使用默认值,实际上会重定向到
/map/x/y/z
出于好奇-为什么不使用查询参数?主要是为了美观,此url可能会在某个地方发布。然而,你的问题是有道理的。我相信使用查询参数可以避免我面临的问题。