우리의 응용 프로그램에서는 객체의 데이터베이스에 항목을 만든 다음 사용자에게 보내 변경 사항을 적용해야한다는 요구 사항이 있습니다. 아래에 나타낸 바와 같이 - : Spring MVC에서 Object의 상태를 동일하게 유지
@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'에도 결함이 있습니다. 두 개의 ModelAndView 객체를 생성하고 있습니다. 첫 번째 것을 무시하고 새로운 것을 만들고 (회사 만 추가) 반환하십시오. 기본적으로 모든 참조 데이터가 사라졌습니다. –