商品分类信息个别是三级目录
查问一级商品的分类 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