@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"; }