今天讲的是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>©沉山工作室版权所有,违权使用必究</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>©沉山工作室版权所有,违权使用必究</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>
这个是数据库的数据
效果如下: