1、二级树形菜单
效果图
表结构
业务层:
二级菜单实现思路:
1)查出父菜单(pid=0),通过遍历父菜单获得父菜单(id),根据父菜单id值作为条件查出子菜单(子菜单pid=父菜单id),接着整理父子菜单关系;这种不推荐,假如所有菜单为18个,查出父菜单3个封装到集合时需要遍历18次,根据父菜单id作为查询子菜单的条件需要遍历3*18次。
2)一次性查出所有菜单18个,使用程序进行组合,这种推荐,以空间换时间。
封装菜单实体
业务层:
1 |
|
控制层
1)将整理好的父子菜单数据放入到session域中,当前用户的这次会话一直使用,只需要去数据库查询一次
1 |
|
前台:
1)引入:<%@ taglib prefix=”fn” uri=”http://java.sun.com/jsp/jstl/functions"%>
计算后台传过来的list集合的长度:${fn:length(p_menu.childs)}
1 |
|
2、mybatis分页查询
根据用户名或者账号进行查询
效果图:
引入依赖:
1 |
|
业务层:
1)带条件查询
1 |
|
控制层:
1)mybatis分页插件会对结果集进行包装,必须在查询前设置: PageHelper.startPage(pn, ps);
2)查询后输入框数据回显:model.addAttribute(“sp”, search);(转发)
1 |
|
前台:
1)为所有分页连接绑定单击事件,让其动态的带上分页的查询参数
1 |
|
2)全选和全不选函数
1 |
|
1 |
|