84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
先按条件查出每一页的ID数组 用你分页的方式再用ID数组 查询出你需要的详细数据
之前做过一个类似的无限级的菜单树,我大概说一下我的思路,具体能不能实现你可以试试,主要是通过Map+递归实现层层嵌套,然后我觉的可以对一级的回复坐分页,结构部分代码你可以参考下:
Map
递归
public class ResourceTree { public static Map mapArray = new LinkedHashMap(); public List menuCommon; public List list = new ArrayList(); public List menuList(List resource) { this.menuCommon = resource; for (Resource x : resource) { Map mapArr = new LinkedHashMap(); if (x.getParentId() == 0) { mapArr.put("id", x.getId()); mapArr.put("text", x.getResourceName()); mapArr.put("resourceUrl", x.getUrl()); mapArr.put("resourceParent", x.getParentId()); mapArr.put("resourceType", x.getType()); mapArr.put("resourceTag", x.getResourceCode()); // mapArr.put("resourceIcon", x.getResourceIcon()); // mapArr.put("resourceParentPath", x.getResourceParentPath()); mapArr.put("children", menuChild(x.getId())); list.add(mapArr); } } return list; } public List> menuChild(int id) { List lists = new ArrayList(); for (Resource a : menuCommon) { Map childArray = new LinkedHashMap(); if (a.getParentId() == id) { childArray.put("id", a.getId()); childArray.put("text", a.getResourceName()); childArray.put("resourceUrl", a.getUrl()); childArray.put("resourceParent", a.getParentId()); childArray.put("resourceType", a.getType()); childArray.put("resourceTag", a.getResourceCode()); // childArray.put("resourceIcon", a.getResourceIcon()); // childArray.put("resourceParentPath", a.getResourceParentPath()); childArray.put("children", menuChild(a.getId())); lists.add(childArray); } } return lists; } }
先按条件查出每一页的ID数组 用你分页的方式
再用ID数组 查询出你需要的详细数据
之前做过一个类似的无限级的菜单树,我大概说一下我的思路,具体能不能实现你可以试试,
主要是通过
Map
+递归
实现层层嵌套,然后我觉的可以对一级的回复坐分页,结构部分代码你可以参考下: