2012-11-02 26 views
5

हाय वहाँ बाहर सभी विकेट पेशेवरों से अतिरिक्त पैरामीटर प्राप्त करने के लिएकैसे, AjaxRequest विकेट 6

मैं अतिरिक्त पैरामीटर मैं जवाब में AjaxRequest को जोड़ा गया (AjaxRequestTarget लक्ष्य) एक AbstractDefaultAjaxBehaviour की विधि प्राप्त करना चाहते हैं।

मैं विकेट.एजेक्स.जेट (...) स्वयं को कॉल करता हूं और मैं प्रबंधित कर सकता हूं कि AbstractDefaultAjaxBehaviour का जवाब (AjaxRequestTarget लक्ष्य) विधि का आह्वान किया गया है, लेकिन मुझे अतिरिक्त पैरामीटर कैसे प्राप्त करें I मेरे जेएस कॉल में जोड़ा गया।

तो यहाँ कोड है कि मैं क्या कर रहा हूँ:

js कि onSelect कहा जाता है:

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

जावा टुकड़ा:

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 कैसे प्राप्त करें। असल में मुझे यकीन नहीं है कि अगर मैंने विकेट के लिए सही तरीके से अतिरिक्त पैरामीटर जोड़ा .ajax.get कॉल।

विकेट 1.4 में मैं ajaxCallUrl...?objectId=OBJECT_ID की तरह और जवाब में() मैं उन्हें RequestCycle से वापस मिल RequestCycle().get().getRequest().getParameter('objectId')

किसी को भी मुझे एक संकेत दे सकता है, तो मैं इसे सराहना करते हैं एक यूआरएल क्वेरी स्ट्रिंग के रूप में अतिरिक्त पैरामीटर जोड़े :) अग्रिम धन्यवाद, रोनी

उत्तर

5

आपका दृष्टिकोण सही है। आप इस तरह पैरामीटर प्राप्त करने के लिए सक्षम होना चाहिए:

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

स्वयं को कॉल ajax के निर्माण के बिना विकेट से सीधे पैरामीटर प्रदान करने के लिए this question को मेरा उत्तर देखें।

+0

धन्यवाद थॉमस, जो काम करता था, मैं वास्तव में करीब था और आपने मुझे अंतिम संकेत दिया जो मुझे प्राप्त करने के लिए आवश्यक था :) – rontron

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^