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添加记录

    }

    }

    }

  • 相关阅读:
    欠拟合与过拟合概念和局部加权回归
    ActionEvent之TextField
    事件模型的介绍与Button的ActionListener
    布局管理器
    GUI初步和frame&panel
    生产者消费者问题
    线程同步
    [BZOJ 1407] Savage
    [BZOJ 1145] 图腾totem
    [BZOJ 1150] 数据备份
  • 原文地址:https://www.cnblogs.com/shan1393/p/9265594.html
Copyright © 2011-2022 走看看