`

用ztree构造树菜单

阅读更多
ztree,很好用的组件今天用它来练练手,感觉挺好用的,过程中,还是要心细,组织数据不能出错
页面:
<!--ztree样式引入-->
		<link rel="stylesheet"  href="<%=basePath%>css/zTreeStyle/zTreeStyle.css" type="text/css">
		<!--jquery包引入	-->
		<script type="text/javascript" src="<%=basePath%>js/jquery-1.4.4.min.js"></script>
		<!--ztree包引入	-->
		<script type="text/javascript" src="<%=basePath%>js/jquery.ztree.core-3.5.js"></script>
		<script type="text/javascript">
			$(document).ready(function(){
				var setting;
				function happenError(event,treeId,treeNode,msg){
					alert("加载失败啦");
				}
				function doSuccess(event,treeId,treeNode,msg){
					alert("加载成功啦"+msg);
				}
				function zTreeOnclick(event,treeId,treeNode,msg)
				{
					alert("你点击了节点"+msg);
				}
				setting = {
					async:{
						autoParam: ["id"],
						enable: true,
						dataType:"json",
						enable:true,
						type:"post",
						otherParam:{"id":"0"},
						url: "<%=basePath%>"+"servlet/Tree"
					},
					data:{
						keep:{
							leaf:false,
							parent:true
						},
						key:{
							children:"children",
							name:"name",
							url:"xUrl"
						},
						simpleData:{
							enable:true,
							idKey:"id",
							pIdKey:"pId",
							rootPid:null
						}
					},
					callback:{
							onAsyncError:happenError,
							onAsyncSuccess:doSuccess,
							onClick:zTreeOnclick
					}
				}
				$(document).ready(function(){
					$.fn.zTree.init($("#treeMe"), setting);
				})
			});
		</script>
	</head>
	<body>
		<div>
			<ul id="treeMe" class="ztree"></ul>
		</div>
	</body>


后台组织了简单的几个节点:
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		int idString = Integer.parseInt(request.getParameter("id"));
		System.out.println(idString);
		//构造节点,对具体应用,可从数据库中取数据进行构造
		List<Node> list = new ArrayList<Node>();
		Node node2= new Node();
		node2.setParent(false);
		node2.setName("sonNode");
		List<Node> childrenList = new ArrayList<Node>();
		childrenList.add(node2);
		
		Node node1 = new Node();
		node1.setParent(true);
		node1.setName("parentNode");
		node1.setChildren(childrenList);
		
		Node node3 = new Node();
		node3.setParent(false);
		node3.setName("parentNode3");
		
		list.add(node1);
		list.add(node3);
		System.out.println(JSONArray.fromObject(list).toString());
		//以JSON数据模式反回给前台
		out.print(JSONArray.fromObject(list).toString());
	}


节点类的简单定义
public class Node implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private List<Node> children;//字节点集合
	private String icon;//自定义节点图标url路径
	private String iconClose;//自定义父节点折叠图标url路径
	private String iconOpen;//自定义父节点展开图标url路径
	private String iconSkin;//节点自定义图标的 className 需要修改 css,增加相应 className 的设置
	private boolean isParent;//是否是父节点
	private String name;//节点名称
	private boolean open;//是否展开
	public String getIcon() {
		return icon;
	}
	public void setIcon(String icon) {
		this.icon = icon;
	}
	public String getIconClose() {
		return iconClose;
	}
	public void setIconClose(String iconClose) {
		this.iconClose = iconClose;
	}
	public String getIconOpen() {
		return iconOpen;
	}
	public void setIconOpen(String iconOpen) {
		this.iconOpen = iconOpen;
	}
	public String getIconSkin() {
		return iconSkin;
	}
	public void setIconSkin(String iconSkin) {
		this.iconSkin = iconSkin;
	}
	public boolean isParent() {
		return isParent;
	}
	public void setParent(boolean isParent) {
		this.isParent = isParent;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public boolean isOpen() {
		return open;
	}
	public void setOpen(boolean open) {
		this.open = open;
	}
	public void setChildren(List<Node> children) {
		this.children = children;
	}
	public List<Node> getChildren() {
		return children;
	}
}

分享到:
评论

相关推荐

    zTree后台组装树结构java代码

    zTree是一款流行的JavaScript插件,专门用于创建交互式的树形菜单或树状视图。本主题聚焦于如何在Java后端组装zTree所需的树结构,并与MySQL数据库进行交互。以下是关于这个主题的详细知识点: 1. **zTree**: - ...

    zTree zTree zTree

    zTree是一款基于jQuery的强大的树形插件,它在网页中广泛用于构建各种类型的树状结构,如文件目录、组织架构、菜单等。zTree以其轻量级、高性能和丰富的功能,深受开发者喜爱。以下是对zTree核心特性和使用方法的...

    zTree树形带JSON

    在这个场景中,"zTree树形带JSON"是一个基于JSON数据格式的树形组件,广泛应用于网页端展示层次化的信息,例如文件系统、组织结构或者导航菜单。zTree是一款功能丰富的JavaScript插件,它能够高效地处理和渲染树形...

    java构造多级树结构,支持多根节点

    ZTree是用于前端展示的JavaScript库,主要用于构建树形菜单和数据展示。为了在网页上显示Java构建的树结构,我们需要: 1. 引入ZTree的CSS和JS库。 2. 在后端生成ZTree所需的JSON数据。 3. 前端页面中设置ZTree的...

    ztree的使用

    Ztree,全称Z-Blog Tree,是一款基于jQuery的灵活、强大的树状菜单插件。它在Web开发中被广泛应用于展示具有层级关系的数据,如组织结构、目录树、权限管理等。本文将深入探讨如何利用Ztree实现无限极分类,以及如何...

    ionic集成树资源文件

    ZTree在Web开发中广泛应用于文件管理、组织结构展示、菜单导航等多种场景。通过集成ZTree,我们可以为Ionic应用添加更丰富的用户界面元素。 首先,让我们了解 Ionic 和 ZTree 的基本概念。Ionic 是一个开源的移动...

    java递归无限层级树

    这通常在前端库如zTree、dtree等中作为后台数据来呈现多级菜单或分类。 首先,我们需要定义一个树节点类(TreeNode)来存储每个节点的信息。这个类至少包括两个属性:一个是`level`,表示节点所在的层级;另一个是`...

    BeeGo框架实现的一个WEB应用实例

    其他还有ztree树形组件、echarts百度报表插件、paging分页组件。。 实现了几个单表的CRUD操作的几个模块,其中"子系统管理"模块探索了多表关联的复杂操作。并且为了实现模糊查询,试写了一个构造原生SQL进行分页查询...

    "BeeGo框架实现的一个WEB应用实例"数据库MYSQL脚本

    其他还有ztree树形组件、echarts百度报表插件、paging分页组件。。 实现了几个单表的CRUD操作的几个模块,其中"子系统管理"模块探索了多表关联的复杂操作。并且为了实现模糊查询,试写了一个构造原生SQL进行分页查询...

    "BeeGo框架实现的一个WEB应用实例"所需MYSQL数据库脚本

    其他还有ztree树形组件、echarts百度报表插件、paging分页组件。。 实现了几个单表的CRUD操作的几个模块,其中"子系统管理"模块探索了多表关联的复杂操作。并且为了实现模糊查询,试写了一个构造原生SQL进行分页查询...

Global site tag (gtag.js) - Google Analytics