嗨,所有的wicket专业人士都在那里,
我想在AbstractDefaultAjaxBehaviour的response(AjaxRequestTarget target)方法中为AjaxRequest添加额外的参数。
我自己构建了Wicket.Ajax.get(...)调用,我可以管理调用AbstractDefaultAjaxBehaviour的response(AjaxRequestTarget目标)方法,但是我知道如何获取我添加的额外参数在我的js电话中。
所以这里是我正在做的代码:
调用onSelect的js:
Wicket.ajax.get({'u':'callbackUrl','c':'componetId', 'ep':{'objectId':'OBJECT_ID'}});
AbstractDefaultAjaxBehaviour的java片段:
onSelectBehavior = new AbstractDefaultAjaxBehavior(){
@Override
protected void respond(AjaxRequestTarget target) {
//here I want to get the OBJECT_ID I added in the Wicket.Ajax.get call above
}
};
按预期调用respond()方法,但我不知道如何获取OBJECT_ID。 实际上,我不确定是否以正确的方式将额外参数添加到wicket.ajax.get调用中。
在Wicket 1.4中,我将额外的参数添加为url查询字符串,如ajaxCallUrl...?objectId=OBJECT_ID
,并在response()中将它从RequestCycle RequestCycle().get().getRequest().getParameter('objectId')
如果有人能给我一个提示,我会很感激:) 提前致谢, 罗尼
答案 0 :(得分:5)
你的方法是正确的。您应该能够获得如下参数:
@Override
protected void respond(AjaxRequestTarget target)
{
getRequest().getRequestParameters().getParameterValue("objectId");
}
请参阅我对this question的回答,直接从Wicket传递参数而不自行构建ajax调用。