2012-11-02 35 views
5

Hallo alle Wicket Profis da draußen bekommen,Wie zusätzlichen Parameter von AjaxRequest Wicket 6

Ich möchte zusätzliche Parameter ich in der respond (AjaxRequestTarget Ziel) -Methode eines AbstractDefaultAjaxBehaviour zum AjaxRequest hinzugefügt bekommen.

Ich baue den Wicket.Ajax.get (...) Aufruf von mir selbst und ich konnte verwalten, dass die Antwort (AjaxRequestTarget Ziel) -Methode des AbstractDefaultAjaxBehaviour aufgerufen wird, aber ich bekomme, wie man die zusätzlichen Parameter I bekommen hinzugefügt in meinem js Anruf.

Also hier der Code, was ich tue:

js die onSelect genannt wird:

Wicket.ajax.get({'u':'callbackUrl','c':'componetId', 'ep':{'objectId':'OBJECT_ID'}}); 

Java Schnipsel des AbstractDefaultAjaxBehaviour:

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 
     } 
}; 

Die respond() -Methode ist aufgerufen wie erwartet, aber ich weiß nicht, wie man die OBJECT_ID bekommt. Eigentlich bin ich überhaupt nicht sicher, ob ich den zusätzlichen Parameter auf die richtige Weise zum wicket.ajax.get-Aufruf hinzugefügt habe.

In Wicket 1.4 ich die zusätzlichen Parameter als URL-Query-String wie ajaxCallUrl...?objectId=OBJECT_ID und in respond hinzugefügt() Ich habe sie wieder aus dem RequestCycle RequestCycle().get().getRequest().getParameter('objectId')

Wenn mir jemand einen Tip geben könnte, ich es schätzen würde :) Vielen Dank im Voraus, Ronny

Antwort

5

Ihre Vorgehensweise ist korrekt. Sie sollten die Parameter so zu erhalten, in der Lage:

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

Siehe meine Antwort auf this question für Parameter direkt von Wicket vorbei, ohne dass der Ajax selbst nennen zu konstruieren.

+0

Danke Thomas, das hat funktioniert, ich war wirklich nah dran und du hast mir den letzten Hinweis gegeben, den ich brauchte, um es zu bekommen :) – rontron

Verwandte Themen