spring - java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'addStudent' available as request attribute -
इस सवाल का पहले से ही एक उत्तर है: < / P>
- 1 उत्तर
यहाँ form.jsp < / P>
और lt;% @ page language = "java" contentType = "text / html; charset = आईएसओ -885 9-1" पृष्ठ एन्कोडिंग = "आईएसओ -885 9 -1"% & gt; & Lt;% @ taglib uri = "http://www.springframework.org/tags/form" उपसर्ग = "फ़ॉर्म"% & gt; & LT;! DOCTYPE & gt; & LT; html & gt; & Lt; शीर्ष & gt; & Lt; meta http-equiv = "सामग्री-प्रकार" सामग्री = "पाठ / html; वर्णसेट = आईएसओ -885 9 -1" & gt; & Lt; शीर्षक & gt; छात्र जोड़ें & lt; / title & gt; & Lt; / head & gt; & LT; बॉडी & gt; & Lt; प्रपत्र: form action = "addStudent" commandName = "addStudent" विधि = "पोस्ट" & gt; & LT; तालिका & gt; & LT; टीआर & gt; & Lt; td & gt; & lt; फ़ॉर्म: लेबल पथ = "नाम" & gt; नाम: & lt; / form: label & gt; & lt; / td & gt; & Lt; td & gt; & lt; फ़ॉर्म: इनपुट पथ = "नाम" /> gt; & lt; / td & gt; & Lt; / टीआर & gt; & LT; टीआर & gt; & Lt; td & gt; & lt; फ़ॉर्म: लेबल पथ = "ईमेल" & gt; ईमेल: & lt; / form: label & gt; & lt; / td & gt; & Lt; td & gt; & lt; फ़ॉर्म: इनपुट पथ = "ईमेल" /> gt; & lt; / td & gt; & Lt; / टीआर & gt; & LT; टीआर & gt; & Lt; td & gt; & lt; फ़ॉर्म: लेबल पथ = "आयु" & gt; आयु: & lt; / form: label & gt; & lt; / td & gt; & Lt; td & gt; & lt; फ़ॉर्म: इनपुट पथ = "आयु" /> gt; & lt; / td & gt; & Lt; / टीआर & gt; & LT; टीआर & gt; & Lt; td colspan = "2" & gt; & lt; इनपुट प्रकार = "सबमिट करें" मान = "सबमिट करें" & gt; & lt; / td & gt; & Lt; / टीआर & gt; & Lt; / तालिका & gt; & Lt; / प्रपत्र: प्रपत्र & gt; & Lt; / body & gt; & Lt; / html & gt;
यहां नियंत्रक विधि है
@RequestMapping (value = "/ addStudent", method = RequestMethod.POST) सार्वजनिक स्ट्रिंग addStudent (@ModelAttribute ("addStudent ") छात्र छात्र) {System.out.println (" सहेजा जा रहा है सूचना ... "); System.out.println ("नाम:" + student.getName ()); System.out.println ("ईमेल:" + student.getEmail ()); System.out.println ("आयु:" + student.getAge ()); वापसी "फ़ॉर्म"; }
यहां छात्र मॉडल है
सार्वजनिक वर्ग के छात्र {निजी स्ट्रिंग का नाम; निजी स्ट्रिंग ईमेल; निजी अंतराल उम्र; निजी इंट आईडी; सार्वजनिक छात्र () {सुपर (); }}
मुझे लगता है कि web.xml या dispatcher-servlet.xml की कोई आवश्यकता नहीं है। हर चीज ठीक से बाँधती है, मेरा मतलब है कमांडनाम jsp में सही है। ModelAttribute नियंत्रक में सही है तो Contol नियंत्रक तक क्यों नहीं पहुंच रहा है? : (
कृपया मदद करें। मैं पहले से ही इस दिन के आधे भाग को बर्बाद कर चुका हूं। PS: मैं स्प्रिंग और स्टैकवॉवरफ्लो के लिए नया हूँ।
संपादित करें: < / P>
सुझावों के बाद, मेरा कोड इस तरह दिखता है:
नियंत्रक विधि:
सार्वजनिक स्ट्रिंग ऐडस्टूडेंट (@ मॉडल एटिबेट ("छात्र") छात्र छात्र, बाइंडिंग रिजल्ट प्रपत्र: form action = "addStudent" commandName = "student" विधि = "पोस्ट" & gt;
jsp फॉर्म:
/ Code>
संपादित करें:
ने स्वयं को सुलझाया, मॉडल विध्वंस के लिए इस विधि को जोड़ा
@ModelAttribute ("छात्र" ) सार्वजनिक छात्र getForm () {नए छात्र ();}
जब तक कमांडनाम और मॉडलअट्रिबूट स्ट्रिंग समान हैं जो ठीक है।
इसी तरह वसंत और सामान के लिए एक नौसिखिया बना रहा है .. लेकिन मैं अनुमान लगा रहा हूं कि यह सही अनुरोध मैपिंग नहीं खोजता है क्योंकि आपके पास अनुरोध मानचित्रण में / addStudent है बस क्रिया क्रिया में addStudent.यह ठीक है अगर वें ई फार्म संदर्भ रूट में है। क्या आप उस से बाहर की जाँच करने की कोशिश कर सकते हैं?
इसके अलावा कृपया आर्ग की सूची सार्वजनिक स्ट्रिंग एडस्टूडेंट (@ मॉोडेल ऍटिट्यूड ("ऐडस्ट्यूडेंट") छात्र छात्र, बाइंडिंग परिणाम का परिणाम) में एक बाध्यकारी संसाधन वस्तु जोड़ें। < / html>
Comments
Post a Comment