• 无限分类的设计及前后台代码


    备注:其他的就不写了,主要写我中途遇到的困难,然后最后怎么解决的吧!

    第一步:数据库的设计

     id 主键自增长,type_name分类名称,pid 所属父id ,  path 分类的位置(构建原理:父id的path 加当前分类id所组成),

    level 分类等级(根据path 里逗号的数量,来判断是几级分类),无限分类这几个是必须的,其他属性情况而定。

    第二步:无限分类下拉框的显示效果(中途折腾好久,才弄出来,用到递归)效果如下:

    controller层的代码

    public String addViewGoodsType(Model model){
    //拿出所有的分类,没有进行分类级
            List<GoodsType> list=goodsTypeService.goodsTypeList();
    //存放类级分好的到backList中
            List<GoodsType> backList = new ArrayList<GoodsType>();
    //调用递归方法
            GoodsTypeTool.typeTool(backList, list, 0, 0);
    //存放到model中,页面好显示
            model.addAttribute("li",backList);
            return "/admin/cate-add";
        }

    递归方法如下:

    package com.game.tool;
    import com.game.entity.GoodsType;
    import java.util.List;
    public class GoodsTypeTool { public static void typeTool(List<GoodsType> bList, List<GoodsType> mlist, int id, int lev) { for (GoodsType goodsType : mlist) { if (goodsType.getPid() == id) { StringBuffer sb=new StringBuffer(); for(int j=0;j<lev;j++){ sb.append("&nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;"); } goodsType.setTypeName(sb.toString()+goodsType.getTypeName()); bList.add(goodsType); typeTool(bList, mlist, goodsType.getId(), lev + 1); } } } }

     html 代码如下:

          <div class="layui-form-item">
                    <label  class="layui-form-label">
                        <span class="x-red">*</span>上级分类</label>
                    <div class="layui-input-inline">
                        <select id="shipping" name="pid" class="valid">
                            <option value="0" th:selected="true">顶级分类</option>
                            <option  th:value="${gs.id}" th:each="gs :${li}" th:utext="${gs.typeName}" ></option>
                        </select>
                    </div>
                </div>

  • 相关阅读:
    网站如何做分布式(集群)的大纲
    [转]Bind和Eval的区别详解
    SQL 中游标的并发问题。
    如何利用客户端缓存对网站进行优化?
    Windows的第五种群集方案 CCS
    ICollection 接口的类序列化的问题。
    如何提高网页的效率(上篇)——提高网页效率的14条准则
    石油地质名称解释
    【SQL基础概念】
    DataView/DataRowView
  • 原文地址:https://www.cnblogs.com/chenlijing/p/12715888.html
Copyright © 2020-2023  润新知