में ड्रॉपडाउन मूल्य बाध्यकारी मैं स्प्रिंग एमवीसी के लिए नया हूं। मैं एक ऐप लिख रहा हूं जो स्प्रिंग, स्प्रिंग एमवीसी और जेपीए/हाइबरनेट का उपयोग करता है, मुझे नहीं पता कि स्प्रिंग एमवीसी को एक मॉडल ऑब्जेक्ट में ड्रॉपडाउन से आने वाला मूल्य कैसे सेट किया जाए।स्प्रिंग एमवीसी
Invoice.java
@Entity
public class Invoice{
@Id
@GeneratedValue
private Integer id;
private double amount;
@ManyToOne(targetEntity=Customer.class, fetch=FetchType.EAGER)
private Customer customer;
//Getters and setters
}
Customer.java
@Entity
public class Customer {
@Id
@GeneratedValue
private Integer id;
private String name;
private String address;
private String phoneNumber;
//Getters and setters
}
invoice.jsp
<form:form method="post" action="add" commandName="invoice">
<form:label path="amount">amount</form:label>
<form:input path="amount" />
<form:label path="customer">Customer</form:label>
<form:select path="customer" items="${customers}" required="true" itemLabel="name" itemValue="id"/>
<input type="submit" value="Add Invoice"/>
</form:form>
: मैं यह एक बहुत ही आम परिदृश्य
यहाँ कल्पना कर सकते हैं कोड है
चालानकॉन troller.java
@Controller
public class InvoiceController {
@Autowired
private InvoiceService InvoiceService;
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String addInvoice(@ModelAttribute("invoice") Invoice invoice, BindingResult result) {
invoiceService.addInvoice(invoice);
return "invoiceAdded";
}
}
InvoiceControler.addInvoice() उत्पन्न होता है, एक चालान उदाहरण एक पैरामीटर के रूप में प्राप्त होता है। चालान की अपेक्षा की गई राशि है, लेकिन ग्राहक आवृत्ति विशेषता शून्य है। ऐसा इसलिए है क्योंकि http पोस्ट ग्राहक आईडी सबमिट करता है और चालान वर्ग ग्राहक ऑब्जेक्ट की अपेक्षा करता है। मुझे नहीं पता कि इसे बदलने का मानक तरीका क्या है।
मैंने स्प्रिंग टाइप रूपांतरण (http://static.springsource.org/spring/docs/current/spring-framework-reference/html/validation.html में) के बारे में Controller.initBinder() के बारे में पढ़ा है, लेकिन मुझे नहीं पता कि यह इस समस्या का समाधान है या नहीं।
कोई विचार?
मैं उसकी जगह काम