如何从AjaxRequest wicket 6中获取额外的参数

时间:2012-11-02 16:39:41

标签: ajax wicket wicket-1.6

嗨,所有的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')

中取回

如果有人能给我一个提示,我会很感激:) 提前致谢, 罗尼

1 个答案:

答案 0 :(得分:5)

你的方法是正确的。您应该能够获得如下参数:

@Override
protected void respond(AjaxRequestTarget target)
{
    getRequest().getRequestParameters().getParameterValue("objectId");
}

请参阅我对this question的回答,直接从Wicket传递参数而不自行构建ajax调用。