在宁波云停车项目上使用ssm+bootstrap自己新建一个增删改查的小功能,遇到的问题与要注意的地方

宁波云停车项目的菜单列表在数据库中,进入项目时在mainpage.jsp中在这里插入图片描述找了一圈,并没有找到关于页面加载时从数据库中得到菜单的代码和路径,根据项目的结构,到Controller层下找到在这里插入图片描述,据分析与观察,带Page的是进行页面跳转用的,主要从数据库中得到菜单的是另一个

@RequestMapping(value = "/main/api/menu", method = RequestMethod.POST)
    @ResponseBody
    public Object menu(ModelMap model) {
        DeptUserInfo deptUserInfo = (DeptUserInfo) model.get("deptUserInfo");
        System.out.println(deptUserInfo.getUsername());

        String usercode = deptUserInfo.getUsercode();
        String menutype = "1";
        List list1 = aclUserService.getAclUserMenuRoleList(usercode, menutype, "1", "0"); //一级菜单
        List mapList1 = new ArrayList<AclUserMenuJson>();

        if (list1 != null && list1.size() > 0) {
            //一级菜单
            for (int i = 0; i < list1.size(); i++) {
                AclMenu menuPo1 = (AclMenu) list1.get(i);
                List lastlist = new ArrayList<AclUserMenuJson>();
                //二级菜单
                List list2 = aclUserService.getAclUserMenuRoleList(usercode, menutype, menuPo1.getPid().toString(), "0");
                if (list2.size() > 0) {
                    for (int j = 0; j < list2.size(); j++) {
                        AclMenu menuPo2 = (AclMenu) list2.get(j);
                        AclUserMenuJson menuJson = new AclUserMenuJson(menuPo2.getPid(), menuPo2.getMenuname(), menuPo2.getMenuurl(), menuPo2.getMenuicon());
                        //三级菜单
                        List list3 = aclUserService.getAclUserMenuRoleList(usercode, menutype, menuPo2.getPid().toString(), "0");

                        menuJson.setMenus(setMenuListToJson(list3));
                        lastlist.add(menuJson);
                    }
                }
                AclUserMenuJson menuJson1 = new AclUserMenuJson(menuPo1.getPid(), menuPo1.getMenuname(), menuPo1.getMenuurl(), menuPo1.getMenuicon());
                menuJson1.setMenus(lastlist);

                mapList1.add(menuJson1);
            }
        }

从这里最后到xml文件

<select id="getAclUserMenuRoleList" resultType="com.sunland.pojo.AclMenu">
    SELECT c.*
    FROM acl_menu c
    WHERE exists(SELECT 1
    FROM acl_user_role a, acl_menu_role b
    WHERE a.usercode = #{userCode,jdbcType=VARCHAR}
    AND a.roleid = b.roleid
    AND b.menuid = c.pid)
    AND c.menutype = #{menuType,jdbcType=VARCHAR}
    AND c.platformtype = 1
    <if test="parid != null and parid!=''">
        AND parid = #{parid,jdbcType=VARCHAR}
    </if>
    <if test="isbtn != null and isbtn!=''">
        and c.isbtn =#{isbtn}
    </if>
    ORDER BY sortby
</select>

与数据库中的acl_menu,acl_user_role,acl_menu_role 这3张表有关系,生成一个自己的菜单。
复制一个已经写完的jsp页面,进行修改,修改之后,新建Controller,service等,得到以下注意点

  1. jsp页面加载时,会对数据库进行一次查询,此方法与查询按钮的方法为同一个,带参数时查询一些,不带参数时查询所有

  2. 加载页面时,主键可以隐藏

    {
    “targets”: [0],
    “visible”: false,
    }
    通过这2行代码可以隐藏主键,“0”代表第一个,可以更改

  3. 可以将不被看见的数据隐藏通过input type=“hidden”,可以通过此方法调用和传递一些数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值