如何使用Java实现分页树结构?

时间:2019-05-26 07:20:15

标签: java spring spring-boot

我做了一个Java递归遍历树结构。但是我想将它们显示为页面树结构。

CategoryServiceImpl.java

@Override
    public List<Category> findAll() {
        List<Category> list = new ArrayList<>();
        List<Category> categoryList = categoryMapper.findAll();

            for (Category category : categoryList) {
                if (category.getPid() == 0) {
                    category.setChildren(categoryChild(category.getId()));
                    list.add(category);
                }
            }
        return list;
    }


    @Override
    public List<Category> categoryChild(Integer id){
        List<Category> list = new ArrayList<>();
        List<Category> categoryList = categoryMapper.findAll();
        for(Category category : categoryList){
            if(category.getPid().equals(id)){
                category.setChildren(categoryChild(category.getId()));
                list.add(category);
            }
        }

        if(list.size()==0){
            return null;
        }

        return list;
    }

CategoryController.java

@RequestMapping(value = "/list", method = RequestMethod.GET)
    @ResponseBody
    public Map<String, Object> list(@RequestParam(name="page", required=false) Integer page, @RequestParam(name="size", required=false) Integer size) {
        Map<String,Object> map = new HashMap<>();
        if(page != null && size != null) {
            PageHelper.startPage(page, size);
        }

        List<Category> list = categoryService.findAll();
        PageInfo<Category> pageInfo = new PageInfo<Category>(list);

        map.put("msg", "OK!");
        map.put("code", 200);
        map.put("total", pageInfo.getTotal());
        map.put("data", pageInfo.getList());
        return map;
    }

访问api/category/list?page=2&size=3时,返回值为:

{
msg: "OK!",
total: 0,
code: 200,
data: [ ]
}

我希望能够显示分页的树状结构,但实际的json不返回任何数据。

此代码看起来不错,但是树结构和PageHelper无效。有什么方法可以解决显示分页的树形结构?

0 个答案:

没有答案