欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

zTree树

程序员文章站 2022-05-11 12:45:42
...

概念:

一个依靠 jQuery 实现的多功能 “树插件”。

实现步骤:

1.引入外部css,js脚本

2.配置文件:在需要添加ztree树的jsp页面中添加脚本

var setting = {
   			check: {
   				enable: true
   			},
   			data: {
   				simpleData: {
   					enable: true
   				}
   			}
   		};

3.zTree初始化的节点数据
//这里相当于在拿后台传来的数据,后台在传数据的时候,属性名要对应上

var zNodes =${zTreeJson}

4.zTree初始化函数

$(document).ready(function(){
			$.fn.zTree.init($("#htZtree"), setting, zNodes);

			var zTreeObj = $.fn.zTree.getZTreeObj("htZtree");
			zTreeObj.expandAll(true);		//展开所有树节点
		});

Json

Json是一种轻量级的数据交换格式。

json的三种基本数据格式
1.{id:‘123’,name:‘xuning’,age:‘18’}
2.[“value1”,”value2”…]
3.[{id:’123’,name:’aaa’},{id:111,name:bbb}…]
由于在后台使用list集合进行数据的封装,所以需要将list集合转换成zTree树所需要的格式,这里转换成json格式的数据。而list集合转换成json格式的数据需要通过jackson。Jsckson处理json数据的方式有三种,这里采用树模型来处理。
Jackson的依赖:

<!-- jackson -->		
		<dependency>
		    <groupId>com.fasterxml.jackson.core</groupId>
		    <artifactId>jackson-databind</artifactId>
		    <version>2.8.8.1</version>
		</dependency>

代码://模块

@RequestMapping(value="/tomodule")
public String toModule(String roleId,Model model) throws Exception{
	//准备数据
	List<Module> moduleList = moduleService.findAll();
	//准备已经勾选的模块信息--根据角色信息
	List<String> checkModule = moduleService.findModuleByRoleId(roleId);
	for(Module module:moduleList){
		if(checkModule.contains(module.getModuleId())){
			module.setChecked(true);
		}
	}
	//转换成json格式
	ObjectMapper object = new ObjectMapper();
	String zTreeJson=object.writeValueAsString(moduleList);
	//数据填充
	model.addAttribute("zTreeJson", zTreeJson);
	model.addAttribute("roleId", roleId);
	return "/sysadmin/role/jRoleModule";
}
@RequestMapping(value="/saveRoleModule")
public String saveRoleModule(String roleId,String moduleIds){
	//保存角色的模块信息--role_module_p
	roleService.saveRoleModule(moduleIds, roleId);
	return "redirect:/sysadmin/role/list";
}


<!-- 批量插入 -->
	<insert id="saveRoleModule">
		insert into role_module_p (module_id,role_id)
		values
			<foreach collection="moduleIds" item="moduleId" separator=",">
				(#{moduleId},#{roleId})
			</foreach>
	</insert>

Jackson

Jackson是一个简单基于Java应用库,Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。Jackson所依赖的jar包较少,简单易用并且性能也要相对高些。

Jackson有三种方式处理json数据。这里介绍一种树模型处理
树模型 -

准备JSON文件在内存里以树形式表示。
ObjectMapper构建JsonNode节点树。这是最灵活的方法。它类似于XML的DOM解析器。

相关标签: 学习总结