5

嗨,所有检票口专业人士,

我想获得我在 AbstractDefaultAjaxBehaviour 的响应(AjaxRequestTarget 目标)方法中添加到 AjaxRequest 的额外参数。

我自己构建了 Wicket.Ajax.get(...) 调用,我可以管理 AbstractDefaultAjaxBehaviour 的 response(AjaxRequestTarget target) 方法被调用,但是我了解如何获取我在我的 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')

如果有人可以给我一个提示,我将不胜感激:) 在此先感谢,Ronny

4

1 回答 1

5

你的方法是正确的。你应该能够得到这样的参数:

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

请参阅我对这个问题的回答,以直接从 Wicket 传递参数,而无需自己构建 ajax 调用。

于 2012-11-02T18:12:56.387 回答