@RequestMapping(value = "batch/delete") public String deleteInBatch( @RequestParam(value = "ids", required = false) ID[] ids, @RequestParam(value = Constants.BACK_URL, required = false) String backURL, RedirectAttributes redirectAttributes) { if (permissionList != null) { permissionList.assertHasDeletePermission(); } // 如果要求不严格 此处可以删除判断 前台已经判断过了 Searchable searchable = Searchable.newSearchable().addSearchFilter("id", SearchOperator.in, ids); List<M> mList = baseService.findAllWithNoPageNoSort(searchable); for (M m : mList) { if (m.isRoot()) { redirectAttributes.addFlashAttribute(Constants.ERROR, "您删除的数据中包含根节点,根节点不能删除"); return redirectToUrl(backURL); } } baseService.deleteSelfAndChild(mList); redirectAttributes.addFlashAttribute(Constants.MESSAGE, "删除成功"); return redirectToUrl(backURL); }
@RequestMapping(value = "{id}/delete", method = RequestMethod.GET) public String deleteForm(@PathVariable("id") M m, Model model) { if (permissionList != null) { permissionList.assertHasDeletePermission(); } setCommonData(model); model.addAttribute("m", m); model.addAttribute(Constants.OP_NAME, "删除"); return viewName("editForm"); }
@RequestMapping(value = "{id}/delete", method = RequestMethod.POST) public String deleteSelfAndChildren( Model model, @ModelAttribute("m") M m, BindingResult result, RedirectAttributes redirectAttributes) { if (permissionList != null) { permissionList.assertHasDeletePermission(); } if (m.isRoot()) { result.reject("您删除的数据中包含根节点,根节点不能删除"); return deleteForm(m, model); } baseService.deleteSelfAndChild(m); redirectAttributes.addFlashAttribute(Constants.MESSAGE, "删除成功"); return redirectToUrl(viewName("success")); }