Java的二级动态菜单实现
这个二级菜单不同于上次写的多级菜单的实现,此次目的关联两张表,上次的多级菜单是一张表,所以区别在此,实现起来也有所不同。
实现图如下:
这里是一级列表,对应的是组名(RescueUnit)
这里是二级展开列表,对应的是组名下的人员(Staff)
Action代码如下:
public String middle() {setNodestree(nodestree());return "middle";}public String nodestree() {JSONArray jsonArray = new JSONArray();List<RescueUnit> rescueUnitAllList = rescueUnitService.getAllRescueUnit();for (RescueUnit mg : rescueUnitAllList) {Map<Object, Object> jsonMapList = new HashMap<Object, Object>();jsonMapList.put("name", mg.getUnitname());jsonMapList.put("id", mg.getId());if (mg.getChildren() != null) {getChildrenArray(mg, jsonMapList);}jsonArray.add(jsonMapList);}return jsonArray.toString();}private void getChildrenArray(RescueUnit mg, Map<Object, Object> jsonMapList) {JSONArray childrenArray = new JSONArray();for (Staff children : mg.getChildren()) {Map<Object, Object> childrenMap = new HashMap<Object, Object>();childrenMap.put("name", children.getName());childrenMap.put("id", children.getId());jsonMapList.put("rescueUnit_id", children.getRescueUnit() == null ? "" : children.getRescueUnit().getId());childrenArray.add(childrenMap);}jsonMapList.put("children", childrenArray);}
这里是JS的代码:
<script src="/skin/nt/lib/layui/layui.js"></script><script><!--这里是树形菜单的js-->layui.use('tree', function(){layui.tree({elem: '#ele4' //指定元素,target: '_blank' //是否新选项卡打开(比如节点返回href才有效),nodes:${(nodestree)!} })});</script>
<ul id="ele4"></ul> //采用这种方式调用树
上述action代码中,获取全部的list方法在Service以及dao层都有定义,定义如下:
service层:
public interface RescueUnitService extends BaseService<RescueUnit,String>{public List<RescueUnit> getAllRescueUnit();
}
@Service
public class RescueUnitServiceImpl extends BaseServiceImpl<RescueUnit, String> implements RescueUnitService {@Resourceprivate RescueUnitDao rescueUnitDao;@Resourcepublic void setCatsiccodesDao(RescueUnitDao rescueUnitDao) {this.rescueUnitDao = rescueUnitDao;super.setBaseDao(rescueUnitDao);}public List<RescueUnit> getAllRescueUnit() {return rescueUnitDao.getAllRescueUnit();}
}
dao层:
public interface RescueUnitDao extends BaseDao<RescueUnit,String>{public List<RescueUnit> getAllRescueUnit();
}
@Repository
public class RescueUnitIDaoImpl extends BaseDaoImpl<RescueUnit, String> implements RescueUnitDao {public List<RescueUnit> getAllRescueUnit() {String hql = "from RescueUnit rescueUnit order by orderList ";return getSession().createQuery(hql).list();}
}
Java的二级动态菜单实现相关推荐
- java 实现二级动态菜单功能
我们通过一张表实现二级菜单的封装功能,数据库表中存在一张菜单表,t_menu表,字段有id,menu_name,menu_url,parent_id,由于个人问题(没有在里面加logo什么的,如果小伙 ...
- Java制作二级导航菜单_纯CSS实现超简单的二级下拉导航菜单代码
本文实例讲述了纯CSS实现超简单的二级下拉导航菜单代码.分享给大家供大家参考.具体如下: 这是一款纯CSS菜单,二级下拉导航效果,是最简洁的CSS导航菜单,兼容性也很棒,IE7/8.火狐等都支持,而且 ...
- java web动态菜单设计_spring-boot与模板引擎:使用metisMenu实现动态多级菜单
系列传送门 在web开发中,特别是后台管理工具的开发,经常用到纵向的多级菜单. 但是常用的Bootstrap仅能支持到2级菜单,对于3级及3级以上的菜单的显示,却无能为力. 下面我将使用另一个jQue ...
- java ajax 联动菜单_二级联动菜单代码(AJAX JAVA).
二级联动菜单代码(AJAX+JAVA)珍藏 [java] pageEncoding="UTF-8"%> 二级菜单联动演示 var req; window.οnlοad=fun ...
- java 二级联动_java实现的二级联动菜单效果
本文实例讲述了java实现的二级联动菜单效果.分享给大家供大家参考,具体如下: JSP代码: 二级菜单联动演示 var req; window.οnlοad=function() {//页面加载时的函 ...
- java工具栏的工具提示,动态菜单项、状态条提示、工具条提示问题
问题的提出: 一个应用程序想要动态改变菜单项.使用CCmdUI::SetText("Menu Text")可以改变菜单文本,但是如何动态改变工具条和状态条的文本呢? 有几种策略,避 ...
- java中遍历树形菜单,你可能不知道还有这样的方法
版权声明:本文为CSDN博主「穆雄雄」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/qq_34137397/ ...
- Vue3 中如何加载动态菜单?
松哥之前写了两篇文章和大家分享了 TienChin 项目中的菜单数据问题,还没看过的小伙伴请戳这里: Vue 里,多级菜单要如何设计才显得专业? TienChin 项目动态菜单接口分析 这两篇文章主要 ...
- Java折叠_[Java教程]Jquery中菜单的展开和折叠
[Java教程]Jquery中菜单的展开和折叠 0 2018-08-15 16:03:38 标签内容 您好:alee 宿舍管理员 密码管理 修改密码 宿舍管理 学生宿舍查询 学生宿舍新增 学生宿舍分配 ...
- 动态菜单,根据登录用户权限返回不同菜单,登录完成跳转到不同的首页
1.动态菜单,前提是根据后端返回的不同菜单,展示给不同的人,路由一定要和菜单返回的URL保持一致, 2.前提是,路由中不要写死redirect到某一个指定 文件,因为登录的用户不一定有这个权限 3.流 ...
最新文章
- Matplotlib基础绘图功能 — 以折线图为例
- 人工智能:从经典计算机到量子计算机,弱AI进阶到强AI时代?
- DNN(DotNetNuke)研究资源
- 【学习笔记】ABAP OOD设计模式 - 桥接模式
- PHP中设置一个严格30分钟过期Session面试题的4种答案
- 正则表达式高级用法【原】
- 记录一下SpringCloud-Gateway使用lb动态路由遇到的坑
- C语言课后习题(36)
- 补习系列(4)-springboot 参数校验详解
- 【Java从0到架构师】Spring - AOP
- 《开源容器云OpenShift:构建基于Kubernetes的企业应用云平台》一2.3 完善OpenShift集群...
- 12c rac 实例无法启动之磁盘组空间耗尽
- 图书馆管理系统前端ajax接口,基于AJAX的图书馆管理系统的设计与实现
- matlab数值积分中函数积分的4种方法
- December in English(2017)
- php 微信公众号自定义菜单栏,php实现微信公众号创建自定义菜单
- mac paralles内 windows虚机 连接 linux虚机
- 视频音频提取器推荐:快速提取视频中的音频!
- 如何把标签输出为PDF文件
- YOLOv5剪枝 | 模型剪枝理论篇
热门文章
- [转载] 七龙珠第一部——第114话 悟空的愿望 卡林大人好为难
- Android 学习 Android应用的两种架构
- sudo: vim:找不到命令_linux常用命令(3)
- C++对ascii文件按行和分隔符读取并显示
- 安卓机器人做图软件_移动机器人领域,除了工业(安卓)一体机,工控机也必不可少...
- DPDK - mlx5 drop action 性能 patch
- 树莓派——使用SDK定期备份本地文件到OSS(自用)
- 浅谈Redis基本数据类型底层编码(含C源码)
- C/C++之回调函数
- OpenCasCade默认的小坐标系的构建