先上图,看一下需要完成的列表页的效果:
以区域树结构列表为例子,大致就是要完成这个效果
做这个需求之前,我大致阅读了jeesite官方文档( https://jeesite.gitee.io/docs/)关于树表结构的文档(带有树表两个字的都看了看),查看了jeesite框架中自带的页面实例,又查看了项目中一些运用了树结构的页面以及后台代码。
按照文档走,我搞不出来这个东西。。。,为什么别的页面用得好好的呢???最后发现,我的数据表结构有点问题,jeesite的这个树结构如果要直接使用的话,需要数据库表结构是符合jeesite所规定的结构。
直接上图:这是区域表的表结构,其他运用了树结构的表也跟它的结构一样
而我的表:
那这可如何是好。
我向公司丽姐请教了这个问题,很快丽姐有了一个方案,那就是模仿数据库表结构建立相似的实体类,并且写一个方法为属性赋值
把这些树表结构中的关键字段全都声明到你自己的实体类中,然后写一个获取树表数据列表的方法:
/** * 查询树表数据 */ @RequiresPermissions("article:articleCategory:view") @RequestMapping(value = "listData") @ResponseBody public List<ArticleCategory> listData(ArticleCategory articleCategory,HttpServletRequest request, HttpServletResponse response) { /*模拟树结构表的数据*/ if (StringUtils.isBlank(articleCategory.getParentCode())) { articleCategory.setParentId(0); } if(StringUtils.isNotBlank(articleCategory.getParentCode())){ articleCategory.setParentId(Integer.parseInt(articleCategory.getParentCode())); } if (StringUtils.isNotBlank(articleCategory.getId()) || StringUtils.isNotBlank(articleCategory.getTitle())){ articleCategory.setParentId(null);//setParentId(null) } List<ArticleCategory> list = articleCategoryService.findList(articleCategory); if(list!=null&&list.size()>0){ for(ArticleCategory category:list){ category.setTreeLevel(category.getClassLayer()-1); category.setTreeSort(category.getSortId());