使用spring框架时,在controller中,实现对ztree数值的初始化

对于ztree树形结构,在新增界面选择的复选框内容已经保存到数据库。如果想在修改界面或者详情界面中查看,在树形结构图显示已保存的数值,如何实现呢?

直接使用java语言即可,只需将ztree中url路径定位到该controller方法中即可:

    @ResponseBody
    @RequestMapping(value = "/{menuId}/getTree", method = RequestMethod.POST)
    public String openOperationPage(@PathVariable("menuId") String menuId,String juid,String uid) {
        String retTree = "[]";
        List<TreeBean> list = null;
        try {if(!StringUtils.isEmpty(juid)){
              list = dataOpService.getTree(menuId,juid);    //获取树形的值
            } else {
                list = dataOpService.getTree(menuId);       //获取树形的值
            }
            
            //树节点已选
            if(!StringUtils.isEmpty(uid)){
                List<String> checked = dataOpService.queryCheckedTree(menuId, uid);  //获取已选的树形值,这是针对存于数据库中,再次取出初始化树形结构
                if(checked != null && !checked.isEmpty()){
                    for(TreeBean bean : list){
                        for(String str : checked){
                            if(bean.getId().equals(str)){
                                bean.setChecked(true);
                            }
                        }
                    }
                }
            }
            retTree = JSONArray.fromObject(list).toString();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return retTree;
    }

 

posted @ 2017-04-04 22:20  小码农成长记  阅读(251)  评论(0)    收藏  举报