@AuthPassport @RequestMapping( value = "/add/{id}", method = {RequestMethod.POST}) public String add( HttpServletRequest request, Model model, @Valid @ModelAttribute("contentModel") AuthorityEditModel editModel, @PathVariable(value = "id") Integer id, BindingResult result) throws EntityOperateException, ValidatException { if (result.hasErrors()) return add(request, model, id); String returnUrl = ServletRequestUtils.getStringParameter(request, "returnUrl", null); Authority authority = AuthorityModelExtension.toAuthority(editModel); authorityService.save(authority); if (returnUrl == null) returnUrl = "authority/chain"; return "redirect:" + returnUrl; }
@AuthPassport @RequestMapping( value = "/edit/{id}", method = {RequestMethod.GET}) public String edit( HttpServletRequest request, Model model, @PathVariable(value = "id") Integer id) throws ValidatException { if (!model.containsAttribute("contentModel")) { AuthorityEditModel authorityEditModel = AuthorityModelExtension.toAuthorityEditModel(authorityService.get(id)); model.addAttribute("contentModel", authorityEditModel); } List<TreeModel> treeModels; AuthorityEditModel editModel = (AuthorityEditModel) model.asMap().get("contentModel"); String expanded = ServletRequestUtils.getStringParameter(request, "expanded", null); if (editModel.getParentId() != null && editModel.getParentId() > 0) { List<TreeModel> children = TreeModelExtension.ToTreeModels( authorityService.listChain(), editModel.getParentId(), null, StringHelper.toIntegerList(expanded, ",")); treeModels = new ArrayList<TreeModel>( Arrays.asList(new TreeModel("0", "0", "根节点", false, false, false, children))); } else { List<TreeModel> children = TreeModelExtension.ToTreeModels( authorityService.listChain(), null, null, StringHelper.toIntegerList(expanded, ",")); treeModels = new ArrayList<TreeModel>( Arrays.asList(new TreeModel("0", "0", "根节点", false, true, false, children))); } model.addAttribute( treeDataSourceName, JSONArray.fromObject(treeModels, new JsonConfig()).toString()); return "authority/edit"; }