मेरे स्प्रिंग/हाइबरनेट एप्लिकेशन में मॉडल कक्षाओं का पदानुक्रम है।सार कक्षाएं और स्प्रिंग एमवीसी @ मॉडलएट्रिब्यूट/@ अनुरोधपाराम
स्प्रिंग एमवीसी नियंत्रक को पोस्ट फॉर्म सबमिट करते समय, ऑब्जेक्ट के प्रकार को निर्दिष्ट करने का कोई मानक तरीका है, इसलिए वसंत प्राप्त करने वाले विधि के @ModelAttribute या @RequestParam में घोषित प्रकार के सही उप-वर्ग को तुरंत चालू कर सकता है ?
उदाहरण के लिए:
public abstract class Product {...}
public class Album extends Product {...}
public class Single extends Product {...}
//Meanwhile, in the controller...
@RequestMapping("/submit.html")
public ModelAndView addProduct(@ModelAttribute("product") @Valid Product product, BindingResult bindingResult, Model model)
{
...//Do stuff, and get either an Album or Single
}
जैक्सन एक विशिष्ट उप प्रकार @JsonTypeInfo एनोटेशन का उपयोग कर के रूप में JSON deserialize कर सकते हैं। मुझे उम्मीद है कि वसंत भी ऐसा ही कर सकता है।
धन्यवाद, जब _not_ एक JSON पेलोड, बल्कि एक सामान्य पोस्ट फ़ॉर्म प्रविष्टि जमा करने कि मैं क्या मतलब था यह संभव है: आप एक
@InitBinder
विधि है कि एक संपादक एक अनुरोध पैरामीटर के आधार पर पंजीकृत करता है इस्तेमाल कर सकते हैं। –@Deejay ठीक है मेरे उत्तर –
हाय, मैं एक समान समस्या को हल करने का प्रयास करता हूं, लेकिन बिना परिणाम के .. यह मेरा प्रश्न है: http://stackoverflow.com/questions/21550238/how-instantiate-a-concrete-class- इन-इनिट-बाइंडर क्या आप मेरी मदद कर सकते हैं ?? – Teo