2012-11-02 33 views
5

大家好检票利弊那里获得额外的参数,如何从AjaxRequest检票口6

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

我自己构建了Wicket.Ajax.get(...)调用,并且我可以管理AbstractDefaultAjaxBehaviour的响应(AjaxRequestTarget target)方法被调用,但我获得了如何获取额外参数的库存I在我的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 
     } 
}; 

的响应()方法按预期调用,但我不知道如何获取OBJECT_ID。 实际上,我不确定是否以正确的方式将额外的参数添加到了wicket.ajax.get调用中。

在Wicket 1.4我添加了额外的参数作为URL查询字符串像ajaxCallUrl...?objectId=OBJECT_ID和响应()我把他们从RequestCycle回RequestCycle().get().getRequest().getParameter('objectId')

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

回答

5

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

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

见我的回答this question直接从检票传递参数,无需构建AJAX调用自己。

+0

谢谢托马斯,工作,我真的很接近,你给了我最后的提示,我需要它:) – rontron