Я сделал структуру дерева рекурсивного обхода 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 недопустимы.Есть ли способ решить древовидную структуру, которая отображает нумерацию страниц?