2012-11-02 32 views
5

Merhaba orada bütün küçük kapı artıları ekstra parametre almak için nasıl AjaxRequest wicket 6

Ben cevap veren AjaxRequest eklenen ekstra parametre (AjaxRequestTarget hedefi) bir AbstractDefaultAjaxBehaviour yöntemi almak istiyorum.

Wicket.Ajax.get (...) çağrısını kendim yapıyorum ve bunu, AbstractDefaultAjaxBehaviour'un yanıt (AjaxRequestTarget hedef) yönteminin çalıştırıldığını yönetebiliyorum, ancak ek parametreleri nasıl alacağımı anladım js aramamda eklendi. onSelect denir

js: AbstractDefaultAjaxBehaviour ait

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

java pasajı:

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

cevap() yöntemidir Yani burada ne yapıyorum kod

beklendiği gibi çağrıldı, ancak OBJECT_ID'yi nasıl alacağımı bilmiyorum. Aslında ekstra parametreyi wicket.ajax.get çağrısına doğru şekilde eklediğimde kesinlikle emin değilim.

Ben ajaxCallUrl...?objectId=OBJECT_ID gibi ve kimsenin bana bir ipucu verebilir, bunu takdir ediyorum RequestCycle().get().getRequest().getParameter('objectId')

geri RequestCycle dışarıdan temin etti) (cevap veren bir url sorgu dizesi olarak ekstra parametreleri eklendi Wicket 1.4 olarak

:) Teşekkürler, Ronny

cevap

5

Yaklaşımınız doğru. Böyle parametreyi almak gerekir:

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

kendini çağırır ajax inşa etmeden Wicket Parametreleri doğrudan geçirilmesi için this question cevabım bakın.

+0

Teşekkürler Thomas, bu işe yaradı, gerçekten yakındım ve bana bunu elde etmek için ihtiyacım olan son ipucunu verdiniz :) – rontron

İlgili konular