List转树形数据,供tree使用

这篇博客介绍了一个Java方法,用于将List中的DocTmplItem对象转换为树形结构,适用于tree组件。通过遍历List,找到顶层节点,并递归地构建子节点,最终形成完整的树形数据结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
	public List<Map<String,Object>> queryItemListByTmpl(HttpServletRequest request,HttpServletResponse response,
			HttpSession session, String tmplId){
		try { 
			List<DocTmplItem> itemList = this.queryItemList(Integer.parseInt(tmplId));
			Map<String, Object> map = new HashMap<String, Object>();
			List<Map<String, Object>> rusult = new ArrayList<Map<String, Object>>();
			for(DocTmplItem item : itemList){
				if(item.getParentId()==null || item.getParentId() == 0){//ParentId = 0 表示顶级【文档项】
					map = new HashMap<String, Object>();
					map.put("id", item.getDocTmplItemId());
					map.put("text", item.getName());
					map.put("state", "closed");
					map.put("itme", item);
					this.getSonTree(map, itemList);
					rusult.add(map);
				}
			}
			return rusult;
		}catch(Exception e){
			log.error(this.getClass().getName(), e);
		}
		return null;
	}
	
	private Map<String,Object> getSonTree(Map<String,Object> map,List<DocTmplItem> itemList){
		List<Map<String,Object>> sonList = new ArrayList<Map<String,Object>>();
		Map<String, Object> sonMap;
		for(DocTmplItem item : itemList){
			if(map.get("id").toString().equals(item.getParentId().toString())){
				sonMap = new HashMap<String, Object>();
				sonMap.put("id", item.getDocTmplItemId());
				sonMap.put("text", item.getName());
				sonMap.put("state", "closed");
				sonMap.put("itme", item);
				sonList.add(sonMap);
				this.getSonTree(sonMap,itemList);
			}
		}
		map.put("children", sonList);
		return map;
	} 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值