2012-03-31 10 views
5

मैं दृश्य को उत्पन्न करने की कोशिश कर रहे grails के बिना अपने नियंत्रक कक्षाओं में से किसी एक विधि को कैसे कॉल कर सकता हूं?Grails में दृश्य उत्पन्न किए बिना कोई कार्रवाई कैसे करें

+0

आप कहां से कॉल कर रहे हैं और आप क्या कर रहे हैं –

+0

नियंत्रक में एक कार्रवाई को हमेशा भेजना पड़ता है उपयोगकर्ता को कुछ वापस। लेकिन यह एक जीएसपी पेज, या एचटीएमएल नहीं होना चाहिए, आप किसी भी प्रकार की प्रतिक्रिया बना सकते हैं। जैसा कि नाटक सुझाव देता है, हमें यह जानने की जरूरत है कि आप समाधान खोजने में आपकी सहायता करने के लिए क्या हासिल करना चाहते हैं। – David

+1

क्या आपने 'रेंडर' की कोशिश की है? – neodevelop

उत्तर

4

आप redirect को अन्य नियंत्रक कार्रवाई में कर सकते हैं।

class PuppyController { 

    def woof() { 
    redirect(action:'bark') 
    } 

    def bark(){ 
    response.write "Moo" 
    } 

} 
कुछ बिंदु आप या तो जवाबी कार्रवाई के लिए लिख सकते हैं या एक विधि/बंद कि एक दृश्य से मेल खाती है तो उपयोगकर्ता उत्पादन प्राप्त कर सकते हैं की ओर ही रीडायरेक्ट पर

यदि आप जिस विधि को कॉल करने का प्रयास कर रहे हैं वह दूसरे नियंत्रक पर है, तो संभावना है कि यह गलत है।

यदि, उदाहरण के लिए, मेरे पास एक नियंत्रक विधि है जो एक फ़ाइल अपलोड करती है, और एक अन्य विधि जो उस फ़ाइल के लिए फ़ाइल नाम बनाता है जो कुछ कन्वेंशन के संयोजन के रूप में बनाती है (टाइम्सस्टैम्प + "+ उपयोगकर्ता नाम के लिए सुंदर फ़ाइल) एक और नियंत्रक पर, आपको उस नियंत्रक विधि को Service पर प्रचारित करना चाहिए और इसे दोनों नियंत्रकों में इंजेक्ट करना चाहिए।

2
class FooController { 

    def fooAction() { 
    render("Successful call to fooAction") 
    } 

} 
0

अनिवार्य रूप से आप एक नियंत्रक उदाहरण ('नए' कीवर्ड के माध्यम से) बना सकते हैं और फिर ब्याज की कार्रवाई को कॉल कर सकते हैं। कृपया आप जो करना चाहते हैं उसके बारे में अधिक जानकारी प्रदान करें, इसलिए मैं एक बेहतर उत्तर देने में सक्षम हो सकता हूं ...

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