Java开发两种Tree实现

这篇博客详细介绍了在Java开发中实现两种不同类型的树结构。第一种是有父节点的树实现,包括action代码、service代码、XML配置以及实际效果展示。第二种是通过列表形式展现的树结构实现,同样涵盖了action代码、URL配置和最终效果的呈现。

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

第一种:有父节点的树的实现

一、action代码

@RequestMapping(value="/tree_sbzl.json", method={RequestMethod.GET, RequestMethod.POST})
		@ResponseBody
			public  Object listtree( String pdatatype, String pcustattr, String pid, HttpServletRequest request){	
			//判断树父id是否为空
	        if(StringUtil.isEmpty(pid)){
	            List<TreeNode> list = new ArrayList<TreeNode>();
	            
	            TreeNode root = new TreeNode("1", "资料设备", "ZLSBGL", null, true);
	            list.add(root);
	            
	            return list;
	        }else{
	            List<TreeNode> list = new ArrayList<TreeNode>();
	            //查询菜品分类下面的菜品分类名称
	            List<SnEquipments > listeq=equipmentsService.queryeqcategory();
	            //遍历获取子节点,未加载大图缩略图
	            for (int i=0;i<listeq.size();i++){
	                list.add(new TreeNode(listeq.get(i).getEquuid(),listeq.get(i).getEqname(),"CPGL",null,false));
	            }
	            
	            return list;
	        }

二、service代码

	/**
	 * 获取资料设备列表
	 * @return list集合
	 */
	public List<SnEquipments> queryeqcategory(){  
		       
		        //定义hql语句
				String hql = " from SnEquipments";
				//hql查询所有的资料设备对象
				List<SnEquipments> listEq =this.listByHql(hql);	
				//返回list集合
				return listEq;		
	}

三、xml中配置tree node的URL(即action类上面打的标签)


四、效果图


第二种:列表形式的树的实现

一、action代码

@Controller
@RequestMapping("/equipments")
public class EquipmentsAction extends BaseAction{

	@Autowired
	private EquipmentsService equipmentsService;//添加EquipmentsService注入
	
	//设备资料管理左侧列表
		@RequestMapping(value="/left_sbzl.json", method={RequestMethod.GET, RequestMethod.POST})
		@ResponseBody
		public Object left_sbzl(String pdatatype, String pcustattr, String pid, HttpServletRequest request){
			
			List<TreeNode> list = new ArrayList<TreeNode>();
			//添加树的节点
			list.add(new TreeNode("1", "视频监控", "SHIPIN", null, false, "camera.png"));
			list.add(new TreeNode("2", "单兵", "DANBING", null, false, "mobile.png"));
			list.add(new TreeNode("3", "RFID卡", "RFID", null, false, "rePwd.gif"));
			list.add(new TreeNode("4", "门禁卡", "MENJIN", null, false, "temparg_set.gif"));
			
			return list;
		}
           注:列表形式的树的节点都是直接添加的数据,所以不用调用service的方法,然后直接在xml中配置URL即可。

二、URL地址


三、效果图



评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值