zTree树

概念:

一个依靠 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解析器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值