java实现树 tree

$.ajax({
url: “/common/getorgtree”,
type: “GET”,
dataType: “JSON”,
success: function(data){
return $("#orgcode").treeview({
data:data,
color:"#428bca",
levels:2,
onNodeSelected:function(event,node){
console.log(“选中了”);
},
onNodeUnselected:function(event,node){
console.log(“取消了”);
}
});},
error: function(XMLHttpRequest, textStatus, errorThrown){
if (XMLHttpRequest.status == 550) {
var exp = JSON.parse(XMLHttpRequest.responseText);
showMsg(i18n(exp[0].message));
}
}
});

后台封装数据

public static String getOrgcodeTree() {
	// 取得数据
	String sql = "select * from xxx ";
	Query query = JPA.em().createNativeQuery(sql, Orgrecord.class);
	ResponseDto orginfos = null;
	List<Orgrecord> resultList = query.getResultList();
	List<OrginTree> lis = new ArrayList<OrginTree>();
	for (Orgrecord list : resultList) {
		OrginTree orginTree = new OrginTree();
		orginTree.text = list.orgname;
		orginTree.parentorgname = list.parentorgname;
		lis.add(orginTree);
	}
	// 一级菜单
	List<OrginTree> menuslist = new ArrayList<OrginTree>();
	for (OrginTree list : lis) {
		if (list.parentorgname == null || "".equals(list.parentorgname)) {
			menuslist.add(list);
		}
	}
	for (OrginTree orginTree : menuslist) {
		orginTree.nodes = buildTree(lis, orginTree.text);
	}
	List<OrginTree> build = build(menuslist);
	return JSONArray.toJSONString(build);
	}

public static List<OrginTree> build(List<OrginTree> list) {
	List<OrginTree> menus2 = new ArrayList<OrginTree>();
	for (OrginTree orginTree : list) {
		if (orginTree.nodes != null && orginTree.nodes.size() > 0) {
			build(orginTree.nodes);
			menus2.add(orginTree);
		}
	}
	return menus2;
}

public static List<OrginTree> buildTree(List<OrginTree> list,
		String parentorgname) {
	List<OrginTree> menus = new ArrayList<OrginTree>();
	for (OrginTree menu : list) {
		if (menu.parentorgname.equals(parentorgname)) {
			menus.add(menu);
		}
	}
	for (OrginTree orginTree : menus) {
		orginTree.nodes = buildTree(list, orginTree.text);
	}
	if (menus.size() == 0) {
		return null;
	}
	return menus;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值