Java Wicket AjaxEventBehavior与历史API

Java Wicket AjaxEventBehavior与历史API,java,ajax,wicket,html5-history,wicket-7,Java,Ajax,Wicket,Html5 History,Wicket 7,我正在使用Wicket 7.x和History API。我目前正在尝试为onpopstate连接AjaxEventBehavior。我有一段代码,每当我执行history.pushState时都会添加一个对象,我的问题是我无法使用OneEvent从Java端访问这些额外的信息 样本状态: target.appendJavaScript("history.pushState({query: '" + searchResults.getQueryString() + "'}, null, wind

我正在使用Wicket 7.x和History API。我目前正在尝试为onpopstate连接AjaxEventBehavior。我有一段代码,每当我执行history.pushState时都会添加一个对象,我的问题是我无法使用OneEvent从Java端访问这些额外的信息

样本状态:

target.appendJavaScript("history.pushState({query: '" + 
searchResults.getQueryString() + "'}, null, window.location.pathname);");
事件行为:

this.getPage().add(new AjaxEventBehavior("onpopstate")
{     
     @Override
     protected void onEvent(AjaxRequestTarget target)
     {
         //code to get query defined in pushState
     }
});

updateAjaxAttributes不是解决方案,因为只有在呈现页面时才会调用它。我需要在调用popstate时发送额外的数据

updateAjaxAttributes实际上可以帮助您。AjaxRequestAttributes允许您还指定动态额外属性。有关更多信息,请参阅。这些参数在触发AjaxEventBehavior之前在客户端动态计算,并作为请求参数发送。

您好,谢谢您的提示。这让我走上了正确的道路!我现在按照您的建议使用getDynamicExtraParameters。我面临的唯一问题是,当添加额外的参数时,在我的事件中,检索正确的信息太早了。有没有办法把执行推迟到以后?我传递给getDynamicExtraParameters的当前值是返回{'query':attrs.event.originalEvent.state.query}。我找到了问题的解决方案,我滥用了历史API。谢谢你的回答!