商品分类信息一般是三级目录
查询一级商品的分类 parent_id=0
查询二级商品的分类 parent_id=1
查询三级商品的分类 parent_id=2
商品分类展现
EasyUI-tree格式封vo对象
业务逻辑
先查询一级菜单 树形结构在初始化时,不会传递任何信息
实现一级菜单展示
controller层
service层
public interface ItemCatService {
//通过ID查询
ItemCat findItemCatById(long itemCatId);
List<EasyUiTree> findAll(long parentId);
}
serviceImpl层
@Override
public List<EasyUiTree> findAll(long parentId) {
QueryWrapper<ItemCat>queryWrapper=new QueryWrapper<>();
queryWrapper.eq("parent_id",parentId);
//1.查询数据库一级的记录
List<ItemCat> itemCats = itemCatMapper.selectList(queryWrapper);
//需要把List<ItemCat> 集合转成 List<EasyUiTree>
List<EasyUiTree> tree=new ArrayList<>();
//1.遍历List<ItemCat> 集合
for (ItemCat it:itemCats
) {
long id = it.getId();
String name = it.getName();
String state=it.getIsParent()?"closed":"open";
//含参构造
EasyUiTree easyUiTree=new EasyUiTree(id,name,state);
//转换
tree.add(easyUiTree);
}
return tree;
子菜单查询
当点击父节点时就是把父节点的id作为子节点的parentId传进去
只需对接收的参数进行判断:方式一
@RequestMapping("list")
public List<EasyUiTree> doItemFindList( Long id) {
Long parentId=id==null?0:id;// 假设只查询一级商品
return itemCatService.findAll(parentId);
}
方式二
@RequestMapping("list")
//@RequestParam 接收参数id传递给指定的变量parentId defaultValue初始化0
public List<EasyUiTree> doItemFindList(@RequestParam(value = "id",defaultValue = "0") Long parentId) {
// Long parentId=id==null?0:id;// 假设只查询一级商品
return itemCatService.findAll(parentId);
}
实现原理
页面参数: http://请求路径?参数
对象:1.Request 页面向服务器传参 2.Response服务器向页面传参
Request和Response相当于中间商 向中间商传参 取参
只有保证传和取名字相同时 才能取到 要不然就是null
底层原理实现
如果传的是个对象,利用对象获取属性get()————封装set()
总结
1.正确编辑HTML标签,属性编写与POJO属性名一致
2.参数接收时,POJO属性必须写包装类型
3.有些特定的属性可以利用SpringMVC进行动态的准化,数组/list/map
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。