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
+递归
實現層層嵌套,然後我覺的可以對一級的回覆坐分頁,結構部分代碼你可以參考下: