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