SpringMVC中使用zTree

1  前端页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>左侧树形导航栏</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	<link rel="stylesheet" href="./css/demo.css" type="text/css">
	<link rel="stylesheet" href="./css/zTreeStyle.css" type="text/css">
	<script type="text/javascript" src="./js/jquery-1.7.2.min.js"></script>
	<script type="text/javascript" src="./js/jquery.ztree.core-3.5.js"></script>
	
	<SCRIPT type="text/javascript">
		var setting = {	
		treeNodeKey : "id", //在isSimpleData格式下,当前节点id属性
 		treeNodeParentKey : "pId", //在isSimpleData格式下,当前节点的父节点id属性
 		showLine : true, //是否显示节点间的连线
 		checkable : true //每个节点上是否显示 CheckBox
		};
		var zNodes;
		$(function(){
			$.ajax({
				async:false,
				cache:false,
				type:'POST',
				//dataType:"String",
				url:'${pageContext.request.contextPath}/TestZTree',
				success:function(data){
					zNodes = data;
				},error:function(){
					alert("请求失败");
				}
			});
		});
		/*
		var zNodes =[
			{ id:1, pId:0, name:"父节点1", open:true},
			{ id:2, pId:0, name:"父节点2", open:true},
			{ id:3, pId:0, name:"父节点3",  open:true}
		   ];
		*/
			$(document).ready(function(){
			treeNodes = eval("(" + zNodes + ")");  //将string类型转换成json 
			$.fn.zTree.init($("#tree"), setting, treeNodes);
		   });
	</SCRIPT>
  </head>
  <body>
<div class="content_wrap">
	<div class="zTreeDemoBackground left">
		<ul id="tree" class="ztree"></ul>
	</div>
</div>
  </body>
</html>

2.后台代码

@Controller
@SessionAttributes("userT")
public class Test {
	@RequestMapping("TestZTree")
	public @ResponseBody String TestZTree() {
		Tree s1 = new Tree(1,0,"test1",true);
		Tree s2 = new Tree(2,0,"test2",true);
		Tree s3 = new Tree(3,0,"test3",true);
		Tree s4 = new Tree(4,0,"test4",true);
		Tree s5 = new Tree(5,0,"test5",true);
		Tree s6 = new Tree(6,0,"test6",true);
		Tree s7 = new Tree(7,0,"test7",true);
		Tree s8 = new Tree(8,0,"test8",true);
		Tree s9 = new Tree(9,0,"test9",true);
		Tree s10 = new Tree(10,0,"test10",true);
		Tree s11 = new Tree(11,0,"test11",true);
		List<Tree> lstTree = new ArrayList<Tree>();
		lstTree.add(s1);
		lstTree.add(s2);
		lstTree.add(s3);
		lstTree.add(s4);
		lstTree.add(s5);
		lstTree.add(s6);
		lstTree.add(s7);
		lstTree.add(s8);
		lstTree.add(s9);
		lstTree.add(s10);
		lstTree.add(s11);
		return makeTree(lstTree);
	}
	public static String makeTree(List<Tree> roles){
		//Check Roles is null
		StringBuffer sb = new StringBuffer();
		Tree r = null;
			sb.append("[");
			for(int i=0;i<roles.size();i++){
				r=(Tree) roles.get(i);
				sb.append("{id:").append(r.getId()).append(",pId:").append("0").append(",name:"")
				.append(r.getName()).append(""").append(",open:true").append("},");
			}
			return sb.substring(0,sb.length()-1)+"]";
	}


效果图:

原文地址:https://www.cnblogs.com/james1207/p/3285723.html