EasyUi03(tree后台工作)

今天讲的是tree后台工作,要连接了oracle数据库

这个是页面的代码

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!-- 引入公共页面  包含 -->
<%@ include file="common/head.jsp"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
	//页面载入函数
	$(function() {
		//加载树的数据   
		$('#myTree').tree({
			url : ctx + '/module.do', //请求地址
			animate : true,//展开或者收缩节点显示动画效果
			onDblClick : function(node) {//节点=对象
				//alert(node.text+" "+node.id+"  "+node.state);  // 在用户点击的时候提示
				//alert(node.iconCls);
				//alert(node.url);
				//判断是否是子节点
				var nodes = $('#myTree').tree('getChildren', node.target); // get checked nodes
				//alert(nodes.length);
				if (nodes.length == 0) {//说明没有子节点
					//判断选项卡是否存在
					var f = $('#myTab').tabs('exists', node.text);
					if (!f) {//说明不存在
						//就新增一个选项卡
						$('#myTab').tabs('add', { //  iconCls:'icon-mini-refresh' 
							title : node.text, //标题
							content : '<iframe scrolling="no" frameborder="0" src="'+node.url+'" width="100%" height="100%"></iframe>', //内容  
							closable : true, //是否可关闭
							iconCls:node.iconCls //图标

						});
					} else {//说明存在就让其选中
						$('#myTab').tabs('select', node.text);
					}
				}

			}

		});

	})
</script>
</head>
<body class="easyui-layout">
	<div data-options="region:'north',split:true"
		style="height: 85px; text-align: center;">
		<h1>书籍后台管理</h1>
	</div>
	<div data-options="region:'south',split:true"
		style="height: 68px; text-align: center;">
		<h4>&copy;沉山工作室版权所有,违权使用必究</h4>
	</div>
	<div data-options="region:'west',title:'功能导航',split:true"
		style="width: 150px;">
		<!-- 左侧tree控件  -->
		<ul id="myTree" class="easyui-tree">
		</ul>

	</div>
	<div data-options="region:'center'"
		style="padding: 5px; background: #fff;">
		<!-- 中间的tabs控件 -->
		<div id="myTab" data-options="pill:true" class="easyui-tabs" style="width: 100%; height: 100%;">
			<div data-options="iconCls:'icon-user-home'" title="首页" style="padding: 10px; display: none;">
				<img src="images/lb1.png" style="width: 100%; height: 100%;" />
			</div>

		</div>


	</div>
</body>

</html>

 递归自己调用自己

 业务逻辑层

package com.zking.biz;

import java.util.List;

import com.zking.dao.IModuleDao;
import com.zking.dao.ModuleDao;
import com.zking.entity.Module;

/**
 *业务逻辑层
 *@author Tao
 *@date 2022年5月6日下午4:59:58
 *
 */
public class ModuleBiz implements IModuleBiz{

	//调用数据库访问层
	IModuleDao imd=new ModuleDao();
	
	@Override
	public List<Module> getAllByPid(int pid) {
	List<Module> ls=imd.getAllByPid(pid);
	//循环遍历
	for (Module m : ls) {
		//什么时候有子节点
		if(m.getPid()==-1) {//说明是父节点
			//递归  自己调用自己   填充其子节点集合
			m.setChildren(getAllByPid(m.getId()));
		}
	}
		return ls;
	}
		public static void main(String[] args) {
			IModuleBiz imb=new ModuleBiz();
			System.out.println(imb.getAllByPid(22));
		}
}

 

这个是表示层的代码 

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!-- 引入公共页面  包含 -->
<%@ include file="common/head.jsp"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
	//页面载入函数
	$(function() {
		//加载树的数据   
		$('#myTree').tree({
			url : ctx + '/module.do', //请求地址
			animate : true,//展开或者收缩节点显示动画效果
			onDblClick : function(node) {//节点=对象
				//alert(node.text+" "+node.id+"  "+node.state);  // 在用户点击的时候提示
				//alert(node.iconCls);
				//alert(node.url);
				//判断是否是子节点
				var nodes = $('#myTree').tree('getChildren', node.target); // get checked nodes
				//alert(nodes.length);
				if (nodes.length == 0) {//说明没有子节点
					//判断选项卡是否存在
					var f = $('#myTab').tabs('exists', node.text);
					if (!f) {//说明不存在
						//就新增一个选项卡
						$('#myTab').tabs('add', { //  iconCls:'icon-mini-refresh' 
							title : node.text, //标题
							content : '<iframe scrolling="no" frameborder="0" src="'+node.url+'" width="100%" height="100%"></iframe>', //内容  
							closable : true, //是否可关闭
							iconCls:node.iconCls //图标

						});
					} else {//说明存在就让其选中
						$('#myTab').tabs('select', node.text);
					}
				}

			}

		});

	})
</script>
</head>
<body class="easyui-layout">
	<div data-options="region:'north',split:true"
		style="height: 85px; text-align: center;">
		<h1>书籍后台管理</h1>
	</div>
	<div data-options="region:'south',split:true"
		style="height: 68px; text-align: center;">
		<h4>&copy;沉山工作室版权所有,违权使用必究</h4>
	</div>
	<div data-options="region:'west',title:'功能导航',split:true"
		style="width: 150px;">
		<!-- 左侧tree控件  -->
		<ul id="myTree" class="easyui-tree">
		</ul>

	</div>
	<div data-options="region:'center'"
		style="padding: 5px; background: #fff;">
		<!-- 中间的tabs控件 -->
		<div id="myTab" data-options="pill:true" class="easyui-tabs" style="width: 100%; height: 100%;">
			<div data-options="iconCls:'icon-user-home'" title="首页" style="padding: 10px; display: none;">
				<img src="images/lb1.png" style="width: 100%; height: 100%;" />
			</div>

		</div>


	</div>
</body>

</html>

这个是数据库的数据

 

 

效果如下:

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值