Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/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
Wicket句柄javascript URL更改_Java_Html_Wicket_Wicket 6 - Fatal编程技术网

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可能会在某个地方发布。然而,你的问题是有道理的。我相信使用查询参数可以避免我面临的问题。