我做了一个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无效。有什么方法可以解决显示分页的树形结构?