在我们的应用程序中,我们要求我们需要在对象的数据库中创建条目,然后将其发送给用户以使其中的更改相同。如下图所示的 - :在Spring MVC中保持对象的状态相同
@RequestMapping(value = "/addCompany", method = RequestMethod.POST)
public ModelAndView addCompany(
@ModelAttribute("company-entity") Company company,
BindingResult result) {
CompanyService companyService = (CompanyService) applicationContext
.getBean("companyService");
companyService.saveVersionAsDraft(company, 1110);*/
return new ModelAndView("success");
}
//Delegate to addPage after making an entry in the database
@RequestMapping("/companyHome")
public ModelAndView showCompanyForm() {
System.out.println("CompanyController.showContacts()");
CompanyService companyService = (CompanyService) applicationContext
.getBean("companyService");
CommonService commonService = (CommonService) applicationContext.getBean("commonService");
Company company = (Company) companyService.addNew(new Company(), 1100);
ModelAndView modelAndView = new ModelAndView("company");
modelAndView.addObject("companyCategories",
companyService
.findAllCompanyCategories());
modelAndView.addObject("sectors", commonService.findAllSectors());
modelAndView.addObject("companyStatus",
companyService.findAllCompanyStatuses());
ModelAndView modelAndView = new ModelAndView("company");
modelAndView.addObject("company-entity",company);
return modelAndView;
}
现在在这家公司的对象,我们也通过DB的首要重点,我们需要使用添加公司()。所以我们需要用表单中的对象返回这个主键。 有没有办法做到这一点? 我们有6到7个这样的条目,所以我们不能在表单中使用隐藏字段。
我完全不理解你的问题。可以肯定的是,你还没有真正理解什么是依赖注入。你不应该调用applicationContext.getBean()来从控制器获取服务:它应该被Spring注入。用一个具体的例子来解释你想要达到的目标。 –
为什么你不能在隐藏的表单域完美解决你的问题时使用隐藏的表单域? – Bart
你的'showCompanyForm'也有缺陷,你正在构造2个ModelAndView对象。你忽略第一个,构建一个新的(只添加公司)并返回它。基本上所有的参考数据现在都消失了。 –