保存更新管理员信息@PostMapping("/save") public String save(@Valid AdminForm form, BindingResult bindingResult, ModelMap map) { log.info("SellerForm={}", form); if (bindingResult.hasErrors()) { map.put("msg", bindingResult.getFieldError().getDefaultMessage()); map.put("url", "/diancan/admin/index"); return "zujian/error"; } AdminInfo admin = new AdminInfo(); try { if (form.getAdminId() != null) { admin = repository.findByAdminId(form.getAdminId()); } BeanUtils.copyProperties(form, admin); repository.save(admin); } catch (DianCanException e) { map.put("msg", e.getMessage()); map.put("url", "/diancan/admin/index"); return "zujian/error"; } map.put("url", "/diancan/admin/list"); return "zujian/success"; }
时间: 2024-04-28 07:26:53 浏览: 188
PNC_Lab04:Ingreso产品@Valid @ModelAttribute和BindingResult。 SpringMVC
这是一个使用@PostMapping注解的方法,用于保存更新管理员信息。该方法接收一个AdminForm类型的参数form,一个BindingResult类型的参数bindingResult和一个ModelMap类型的参数map。方法首先通过日志打印出接收到的form参数内容,然后判断bindingResult是否存在错误,如果存在则将错误信息和跳转路径添加到map中并返回"zujian/error"视图。如果不存在错误,则创建一个新的AdminInfo对象,并通过form参数和BeanUtils.copyProperties方法将form中的属性值复制到admin对象中。最后调用repository.save(admin)将admin对象保存到数据库中。如果在保存过程中发生DianCanException异常,则将异常信息和跳转路径添加到map中并返回"zujian/error"视图。最后,将跳转路径添加到map中并返回"zujian/success"视图。
阅读全文