/** * 删除菜单记录. * * @param id * @param redirectAttributes * @return */ @RequestMapping(value = "delete/{id}") public String delete(@PathVariable("id") Long id, RedirectAttributes redirectAttributes) { Sidebar sidebar = sidebarService.getSidebar(id); sidebarService.deleteSidebar(id); redirectAttributes.addFlashAttribute("message", "删除菜单" + sidebar.getName() + "成功"); return "redirect:/sidebar"; }
/** * 所有RequestMapping方法调用前的Model准备方法, 实现预处理部分绑定的效果,先根据form的id从数据库查出Sidebar对象,再把Form提交的内容绑定到该对象上。 * 因为仅update()方法的form中有id属性,因此仅在update时实际执行. */ @ModelAttribute public void getSidebar( @RequestParam(value = "id", defaultValue = "-1") Long id, @RequestParam(value = "preSidebar.id", defaultValue = "-1") Long preSidebarId, Model model) { if (id != -1) { Sidebar sidebar = sidebarService.getSidebar(id); if (preSidebarId > 0) { sidebar.setPreSidebar(sidebarService.getSidebar(preSidebarId)); } else { sidebar.setPreSidebar(null); } model.addAttribute("sidebar", sidebar); } }
/** * 提交更新的菜单信息. * * @param sidebar * @param redirectAttributes * @return */ @RequestMapping(value = "update", method = RequestMethod.POST) public String update( @Valid @ModelAttribute("sidebar") Sidebar sidebar, RedirectAttributes redirectAttributes) { sidebarService.saveSidebar(sidebar); redirectAttributes.addFlashAttribute("message", "更新菜单‘" + sidebar.getName() + "’成功"); return "redirect:/sidebar"; }