天天看点

前台所需要展示类目时,类目过多需要建表,动态生成类目表单,(思想)

如图所示,分为大类目,大类目下边有小类目,小类目下还有。

前台所需要展示类目时,类目过多需要建表,动态生成类目表单,(思想)

解决问题思路,此时我们可以这样设计数据库

前台所需要展示类目时,类目过多需要建表,动态生成类目表单,(思想)

大类目有自己的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,根据父节点信息将子节点信息绑定给前台。