目录
继上篇博客内容的代码基础上实现树型菜单功能.....
左侧菜单实现思路:
1)layui官网上的显示菜单代码(html代码)
2) 从此代码推断出具体需要怎样的数据格式,数据必须存在父子关系
3)分析工具类的底层原理方便之后使用
4)调用次工具类,将菜单平级数据转换为具备父子关系的菜单数据
5) 完成后台 构建PermissionAction 和相应配置文件
6) 前台调用PermissionAction ,然后利用ajax获取数据,最后通过ajax 构建第一步的HTML代码
一、数据显示
----实体类Permission
public class Permission {
private long id;
private String name;//菜单名
private String description; //描述
private String url;//点击菜单跳转页面
private long pid;//父级菜单的id
private int ismenu;//是否是菜单
private long displayno;//是否顺序显示
public int getIsmenu() {
return ismenu;
}
public void setIsmenu(int ismenu) {
this.ismenu = ismenu;
}
public long getIsplayno() {
return displayno;
}
public void setIsplayno(long isplayno) {
this.displayno = isplayno;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public long getPid() {
return pid;
}
public void setPid(long pid) {
this.pid = pid;
}
public Permission(long id, String name, String description, String url, long pid, int ismenu, long isplayno) {
this.id = id;
this.name = name;
this.description = description;
this.url = url;
this.pid = pid;
this.ismenu = ismenu;
this.displayno = isplayno;
}
public Permission() {
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
return "Permission [id=" + id + ", name=" + name + ", description=" + description + ", url=" + url + ", pid="
+ pid + ", ismenu=" + ismenu + ", isplayno=" + displayno + "]";
}
}
dao方法
import java.util.ArrayList;
import java.util.List;
import com.zking.entity.Permission;
import com.zking.util.BaseDao;
import com.zking.util.BuildTree;
import com.zking.util.PageBean;
import com.zking.util.TreeVo;
public class PerissonDao extends BaseDao<Permission>{
//查询t_oa_permission 表的数据
public List<Permission> list(Permission permission, PageBean pageBean) throws Exception {
String sql="select * from t_oa_permission";
return super.executeQuery(sql,Permission.class, pageBean);
}
}
遍历所有数据
import static org.junit.Assert.*;
import java.util.List;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;import com.fasterxml.jackson.databind.ObjectMapper;
import com.zking.entity.Permission;
import com.zking.util.TreeVo;public class MenuDaoTest {
private PerissonDao menuDao =new PerissonDao();
@Before
public void setUp() throws Exception {
}@After
public void tearDown() throws Exception {
}@Test
public void testList() {
try {//无需传参
List<Permission> list= menuDao.list(null, null);
// for (Permission permission : list) {
// System.out.println(permission);
// }
ObjectMapper om=new ObjectMapper();
System.out.println(om.writeValueAsString(list));//json数组
} catch (Exception e) {
e.printStackTrace();
}
}