easyui mysql实现多级菜单_EasyUI实现树形功能菜单

本文详细介绍了如何利用EasyUI库和MySQL数据库实现多级树形功能菜单。首先介绍环境配置,包括引入jQuery EasyUI库和相关jar包。接着创建数据表并插入测试数据,然后提供JDBC连接工具类、实体类、DAO接口及其实现。通过Servlet处理菜单的增删改查操作,最后展示JSP网页代码,完成菜单的动态加载和拖拽功能。
摘要由CSDN通过智能技术生成

本文主要介绍了基于EasyUI的基础之上实现树形功能菜单,非常不错,具有参考借鉴价值,需要的朋友可以参考下,希望能帮助到大家。

页面展示截图如下:

c4377b303ffd1a6f68a1e3e73c5a6872.png

630681c6b28fb32b11a8e549788d9830.png

007111ecc20bd4310b6cbbc6563e511f.png

59dd40ef2d79980a65886674a1c27711.png

为了实现以上效果,在开始前必须先将环境配置一下。

第一步: 首先,先将 jquery-easyui-1.2.6 文件引入到工程项目下,并在jsp页面上进入引入3个jsp文件和2个css文件。如下:

引入顺序必须按照以上顺序引入,否则页面展示效果将出错。

第二步:引入jar包,分别为:commons-beanutils-1.8.3.jar、commons-collections-3.2.1.jar、commons-lang-2.5.jar、commons-logging-1.1.1.jar、ezmorph-1.0.6.jar、json-lib-2.3-jdk15.jar、mysql-connector-java-5.1.17-bin.jar

代码实现

1、创建数据表

drop database easyui;

create database easyui;

use easyui;

show tables;

#创建菜单表

create table menu(

id int(11) not null auto_increment, ####菜单id###

name varchar(20) default null, ####菜单名####

url varchar(100) default null, #### 菜单url####

checked varchar(10) default null, ####菜单是否被选中

icon varchar(30) default null, ####菜单图标####

parent_id int(11) default null, ####父节点菜单的id####

primary key(id) ####id是主键####

);

#插入测试数据 ####测试数据####

insert into menu(id,name,url,checked,icon,parent_id) values

(1,'权限菜单',null,'',null,0),

(2,'用户管理',null,'0',null,1),

(3,'岗位管理',null,'',null,1),

(4,'资源管理',null,'',null,1),

(5,'用户功能1',null,'',null,2),

(6,'岗位功能1',null,'0',null,3),

(7,'资源功能2','/easyui/index.jsp','0',null,3),

(8,'资源功能1','sss','0',null,4),

(9,'岗位功能2',null,'',null,3),

(10,'资源功能3','111','0',null,4),

(11,'资源管理4','222','',null,4),

(14,'岗位功能3','dfds',null,null,3),

(17,'用户功能2','sss','0',null,2);

#查看数据

select * from menu;

//查询跟节点

select * from menu where parent_id=0;

#查看指定父节点下有哪些子节点

select * from menu where parent_id=2;

2、JDBC连接工具类

JDBCUtils.Java

package com.hsj.utils;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

public class JDBCUtils {

static {

try {

Class.forName("com.mysql.jdbc.Driver");

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

}

public static Connection getConnection() throws Exception {

return DriverManager.getConnection(

"jdbc:mysql:///easyui?useUnicode=true&characterEncoding=UTF-8",

"root", "zxczxc");

}

public static void close(ResultSet rs, PreparedStatement ps, Connection conn) {

try {

if (rs != null)

rs.close();

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

if (ps != null)

ps.close();

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

if (conn != null)

conn.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

}

}

3、创建实体类domain

Menu.java

package com.hsj.domain;

public class Menu {

private int id; //菜单id

private String name; //菜单名

private String url; //菜单链接的网址

private String checked; //菜单是否被选中

private String icon; //菜单图标

private int parent_id; //当前菜单的父节点id

public Menu(){}

public Menu(int id, String name, String url, String checked, String icon,int parentId) {

this.id = id;

this.name = name;

this.url = url;

this.checked = checked;

this.icon = icon;

parent_id = parentId;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getUrl() {

return url;

}

public void setUrl(String url) {

this.url = url;

}

public String getChecked() {

return checked;

}

public void setChecked(String checked) {

this.checked = checked;

}

public String getIcon() {

return icon;

}

public void setIcon(String icon) {

this.icon = icon;

}

public int getParent_id() {

return parent_id;

}

public void setParent_id(int parentId) {

parent_id = parentId;

}

}

TreeDTD.java

package com.hsj.domain;

import java.util.HashMap;

import java.util.Map;

public class Tree

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值