zoukankan      html  css  js  c++  java
  • 2菜单数据添加 4.1角色添加

    2菜单数据添加  

    前台页面:  先通过MenuAction_findALl.action 去展示菜单, Combotree中菜单名称是text属性需要在实体类中添加getText方法 return name; 

    通过点击保存按钮 保存菜单 执行menuAction_save.aciton

    1.1 角色添加

    页面:pages/system/role_add.jsp

     

    实现步骤:

    1、 页面端

    a) 第一步:使用复选框checkbox展示权限数据

    b) 第二步:使用ztree以简单数据格式展示菜单数据

    c) 第三步:提交表单

    2、 服务端

    a) 第一步:保存角色数据

    b) 第二步:角色关联权限

    第三步:角色关联菜单

    1.权限前台页面:(1)权限的展示: 权限用checkbox展示. 发送post请求. 返回的参数.id  .name获取id和name,

    往input标签里面拼接vlaue=id  和name 获取checkbox对象.append(input标签)

    菜单前台页面:(1)菜单的展示  确定setting中的simpleData:{enable:true 使用简单数据格式(pid上级菜单格式)} check:{enable:true ztree数据勾选效果}

    发送post请求查询菜单数据  然后进行ztree初始化  因为没有pid属性 所以在实体类中添加getpId方法 return parentMenu.getId();

    角色保存

    public void save(Role model, String menuIds, Integer[] permissionIds) {

    //保存完角色对象:持久态

    roleDao.save(model);

    //角色关联菜单  

    if(StringUtils.isNotBlank(menuIds)){

    String[] strings = menuIds.split(",");

    for (String menuId : strings) {

    Menu menu = menuDao.findOne(Integer.parseInt(menuId));

    //持久态关联持久态

    model.getMenus().add(menu);  //向中间表T_role_menu添加记录

    }

    }

     

    //角色关联权限

    if(permissionIds!=null && permissionIds.length>0){

    for (Integer permissionId : permissionIds) {

    Permission permission = new Permission();

    permission.setId(permissionId);//托管态 TODO 也可以根据ID调用dao查询到持久态权限对象

    //持久态关联托管态

    model.getPermissions().add(permission);//向中间表T_role_permission添加记录

    }

    }

    }

  • 相关阅读:
    python 面向对象类成员(字段 方法 属性)
    python 面向对象三大特性(封装 多态 继承)
    python 正则
    python 反射机制 ( 广泛应用于URL参数)
    python 导入模块
    python 字符串格式化 ( 百分号 & format )
    python time
    python filter
    【工作感悟】——揭开“PM”的面纱
    【SSH】——spring的控制反转和依赖注入
  • 原文地址:https://www.cnblogs.com/shan1393/p/9265594.html
Copyright © 2011-2022 走看看