java - How to pass two objects to the same Spring Controller Form submission? -
मेरे पास निम्न pojo है:
सार्वजनिक वर्ग फ़ू {@Size (min = 0 , अधिकतम = 10) निजी स्ट्रिंग बार = नल; @ आकार (न्यूनतम = 0, अधिकतम = 10) निजी स्ट्रिंग बाज़ = नल; और निम्न नियंत्रक:
@Controller @RequestMapping (value = "/ path", method = RequestMethod। पोस्ट) सार्वजनिक वर्ग नियंत्रण {सार्वजनिक स्ट्रिंग हैंडलर (@ वालिद फू फू 1, बाइंडिंग रिज़ल्ट res_foo1, @ वालिड फू फू 2, बाइंडिंग रिजल्ट रेसफू 2) {// बिजनेस लॉजिक}} और निम्न फॉर्म स्निपेट:
& lt; फ़ॉर्म क्रिया = "/ पथ" & gt; & Lt; इनपुट नाम = "foo1.bar" प्रकार = "टेक्स्ट" / & gt; & Lt; इनपुट नाम = "foo1.baz" प्रकार = "टेक्स्ट" / & gt; & Lt; इनपुट नाम = "foo2.bar" प्रकार = "टेक्स्ट" / & gt; & Lt; input name = "foo2.baz" प्रकार = "टेक्स्ट" / & gt; & Lt; / प्रपत्र & gt; मुझे फ़ॉर्म जमा करते समय निम्न त्रुटि मिलती है:
java.lang.IllegalArgumentException: तर्क प्रकार मेल नहीं खाता > वस्तुओं अलग हैं और pojos अलग गुण है, तो यह ठीक काम करता है क्या यह काम करने का कोई तरीका है?
मैंने इसे अभी समझ लिया है चाल को किसी अन्य पीजो में पॉजोस को घोंसला करना है।
सार्वजनिक वर्ग नेस्ट {@ वालिद निजी फू एक = नल; @ वैध निजी फू दो = नल; इस तरह एक नियंत्रक का उपयोग करें:
@ नियंत्रक @ अनुरोधमैपिंग (मान = "/ पथ", विधि = अनुरोध सार्वजनिक वर्ग नियंत्रण {सार्वजनिक स्ट्रिंग हैंडलर (@ वालिड नेस्ट घोंसले, बाइंडिंग रिजल्ट_सैस्ट) {// बिजनेस लॉजिक}} और इस तरह एक फ़ॉर्म:
& lt; form action = "/ path" & gt; & Lt; इनपुट नाम = "one.bar" प्रकार = "टेक्स्ट" / & gt; & Lt; input name = "one.baz" प्रकार = "टेक्स्ट" / & gt; & Lt; इनपुट नाम = "दो। बार" प्रकार = "टेक्स्ट" / & gt; & Lt; input name = "two.baz" प्रकार = "text" / & gt; & Lt; / प्रपत्र & gt; यह दो वस्तुओं को अलग से मान्य करता है, असंभव करता है।
Comments
Post a Comment