在商品服务中引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
把静态资源拉进项目资源文件夹
首页效果:
新建一个包叫做web,里面放用于页面跳转功能的controller
来到首页要首先查出所有的一级分类,当鼠标移动到一级分类上时再查询二级分类和三级分类
来到html页面
首先加上thymeleaf的名称空间,就可以使用它的语法了
在pom中引入devtools不重启服务器的情况下实时刷新页面,修改完页面只需按CTRL+SHIFT+F9即可刷新页面
这些应该是从服务器返回的数据中,遍历出来的
这样一级分类就是动态获取展现出来的了
根据前端需要的json数据,写接口
先封装一个vo
controller
service
@Override
public Map<String, List<Catelog2Vo>> getCatalogJson() {
// 查询所有一级分类
List<CategoryEntity> level1 = getLevel1Categorys();
Map<String, List<Catelog2Vo>> catalogJson = level1.stream().collect(Collectors.toMap(k -> k.getCatId().toString(), v -> {
// 拿到每一个一级分类 然后查询他们的二级分类
List<CategoryEntity> level2 = baseMapper.selectList(new QueryWrapper<CategoryEntity>().eq("parent_cid", v.getCatId()));
List<Catelog2Vo> catelog2Vos = null;
if (level2 != null) {
catelog2Vos = level2.stream().map(l2 -> {
Catelog2Vo catelog2Vo = new Catelog2Vo(v.getCatId().toString(),null , l2.getCatId().toString(), l2.getName());
// 找当前二级分类的三级分类
List<CategoryEntity> level3 = baseMapper.selectList(new QueryWrapper<CategoryEntity>().eq("parent_cid", l2.getCatId()));
// 三级分类有数据的情况下
if (level3 != null) {
List<Catelog2Vo.Catelog3Vo> catelog3Vos = level3.stream().map((l3) -> {
Catelog2Vo.Catelog3Vo catelog3Vo = new Catelog2Vo.Catelog3Vo(l2.getCatId().toString(),l3.getCatId().toString(),l3.getName());
return catelog3Vo;
}).collect(Collectors.toList());
catelog2Vo.setCatalog3List(catelog3Vos);
}
return catelog2Vo;
}).collect(Collectors.toList());
}
return catelog2Vos;
}));
return catalogJson;
}