失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Java的二级动态菜单实现

Java的二级动态菜单实现

时间:2021-04-04 15:09:52

相关推荐

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();}

@Servicepublic 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();}

@Repositorypublic 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的二级动态菜单实现》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。