后台代码:
/**
* 返回数据用于zTree控件树状图显示
* @return
*/
@ResponseBody
@RequestMapping("getMenuJson")
public List<Map<Object,Object>> getJson(){
List<Menu> list=menuService.findList();
List<Map<Object,Object>>mapList= new ArrayList<>();
for(int i=0;i<list.size();i++){
Map <Object,Object> map= new HashMap<Object,Object>();
map.put("id", list.get(i).getId());
map.put("name", list.get(i).getName());
map.put("pId", list.get(i).getParentId());
map.put("url", list.get(i).getUrl());
map.put("target", "_blank");
mapList.add(map);
}
System.out.println("异步加载数据成功");
return mapList;
}
前台代码:
/**************异步加载数据************/
var setting4 = {
async: {
enable: true,
contentType: "application/json",
url:"${ctx}/a/menu/getMenuJson",
/* autoParam:["id", "name=", "level=lv"], */
otherParam:{"otherParam":"zTreeAsyncTest"},
dataFilter: filter
}
};
function filter(treeId, parentNode, childNodes) {
if (!childNodes) return null;
for (var i=0, l=childNodes.length; i<l; i++) {
childNodes[i].name = childNodes[i].name.replace(/.n/g, '.');/* 把回车换成. */
}
console.log(childNodes);
return childNodes;
}
$(document).ready(function(){
zTreeObj = $.fn.zTree.init($("#treeDemo1"), setting4);
});
使用了SpringMVC框架,此处使用zTree插件来异步加载Menu树状菜单,但是获取到的数据为数组格式,如下:
Array(9)
0
:
{name: "新建菜单", pId: 5, id: 3, url: "/a/menu/add", target: "_blank"}
1
:
{name: "菜单列表", pId: 5, id: 4, url: "/a/menu/list", target: "_blank"}
2
:
{name: "菜单管理", pId: 0, id: 5, url: "/a/menu/", target: "_blank"}
3
:
{name: "人员管理", pId: 0, id: 6, url: "/a/user/", target: "_blank"}
4
:
{name: "人员添加", pId: 6, id: 7, url: "/a/user/add", target: "_blank"}
5
:
{name: "人员列表", pId: 6, id: 8, url: "/a/user/list", target: "_blank"}
6
:
{name: "修改密码", pId: 6, id: 9, url: "/a/user/changePW", target: "_blank"}
7
:
{name: "人员添加1", pId: 7, id: 10, url: "#", target: "_blank"}
8
:
{name: "人员添加2", pId: 7, id: 11, url: "#", target: "_blank"}
请问如何解决 解决