关于java:分级目录查询及SpringMVC页面传参

商品分类信息个别是三级目录

查问一级商品的分类 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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理