天天看點

前台所需要展示類目時,類目過多需要建表,動态生成類目表單,(思想)

如圖所示,分為大類目,大類目下邊有小類目,小類目下還有。

前台所需要展示類目時,類目過多需要建表,動态生成類目表單,(思想)

解決問題思路,此時我們可以這樣設計資料庫

前台所需要展示類目時,類目過多需要建表,動态生成類目表單,(思想)

大類目有自己的id,但是所有的大類目的父親id為0。

@Autowired
    private ItemCatService itemCatService;

    @RequestMapping("/item/cat/list")
    @ResponseBody
    public List<EasyUITreeNode> getItemList(@RequestParam(value = "id",defaultValue = "0")  Long parentid) {
        List<EasyUITreeNode> itemCatlist = itemCatService.getItemCatlist(parentid);
        return itemCatlist;
    }
           

我們初次重新整理頁面時将parent_id設定為0,那麼傳回如上圖parent_id為0的資料,此時将資料資訊傳回前台,生成了如下的圖。

前台所需要展示類目時,類目過多需要建表,動态生成類目表單,(思想)

當我們再點選最大類目“圖書、音像、電子書刊”時将id綁定回去,此時通過這個id又可以将他的子節點回報回來。

前台所需要展示類目時,類目過多需要建表,動态生成類目表單,(思想)

此時我們将id=1發送到背景,然後根據parent_id=1将下一層類目進行查詢。

如圖,将1發送過去可以查詢到如圖資料,再将其傳回前台

前台所需要展示類目時,類目過多需要建表,動态生成類目表單,(思想)
前台所需要展示類目時,類目過多需要建表,動态生成類目表單,(思想)

也就是說每次傳給背景的為父節點id,根據父節點資訊将子節點資訊綁定給前台。