我正在使用弹簧靴。我的dao实现是:
public void saveDetails(Proforma_Invoice proforma) {
Session session = null;
Transaction tx = null;
try {
session = sessionFactory.openSession();
tx = session.beginTransaction();
session.saveOrUpdate(proforma);
tx.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (session != null && session.isOpen())
session.flush();
if (session != null && session.isOpen())
session.close();
}
}
我的控制器是:
@RequestMapping(value = "/enquiry", method = RequestMethod.GET)
public ModelAndView getEnquiryScreen(Model model, Item_entity item, Integer item_code, vendor_entity vendor) {
System.out.println("Controller is starting..");
ModelAndView mav = new ModelAndView("enquiry_Screen");
return mav;
}
@RequestMapping(value = "/enquiry", method = RequestMethod.POST)
public ModelAndView demo(@ModelAttribute("enquiry") Model model, Item_entity item, Integer item_code,
vendor_entity vendor, Proforma_Invoice proforma) {
System.out.println("Controller is starting..");
ModelAndView mav = new ModelAndView("enquiry_Screen"););
return mav;
}
在保存数据时使用它们,然后出现错误:
2019-03-12 09:45:34.352 ERROR 7256 --- [nio-8080-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.ui.Model]: Specified class is an interface] with root cause
org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.ui.Model]: Specified class is an interface
请查看该问题。并帮助我解决问题。
答案 0 :(得分:0)
您正在尝试使用Model
作为控制器参数和@ModelAttribute
进行混合。如果您有一个包含来自传入请求的参数的表单对象,并且希望Spring将这些参数复制到该对象的实例中,则使用@ModelAttribute
。将表单对象用于POST映射(一个好主意),或者删除批注以使用Model
。