当我们根据角色id,获取该角色拥有的所有的权限,然后使用zTree控件进行展示,这个zTree控件可以对当前角色的权限进行维护,那么我们如何保存该角色的权限信息呢?
JSP页面
<div style="margin:1px;padding-left:45px;">
<input type="hidden" id="editAuthRoleId" value="${editAuthRoleId }"/>
<input type="button" onclick="addRoleAuth()" value="保存" class="btn btn-primary">
</div>
JS代码
/**
* 保存角色菜单权限
*/
function addRoleAuth(){
var roleid = $("#editAuthRoleId").val();
if(roleid==""){
showMessageDialog("保存失败,请选择角色进行编辑");
return false;
}
nodes=zTree.getCheckedNodes(true);
var authIds="";
for(var i=0;i<nodes.length;i++){
if(i+1<nodes.length){
authIds+=nodes[i].id+",";
}else{
authIds+=nodes[i].id;
}
}
$.ajax({
url: webContext+"/platform/role/editRoleAuth/"+roleid,
type: 'POST',
dataType:"json",
data:{
authIds:authIds
},
error: function(){
showMessageDialog("请求错误,保存失败!");
},
success: function(result){
if(result.success){
showMessageDialog("角色权限保存成功!",function(){
getAuthTreeByRole(roleid);
});
}else{
showMessageDialog("角色权限保存失败!!");
}
}
});
}
Controller
/**
*
* 方法说明:编辑角色权限信息
* @param roleid 角色id
* @param authIds 权限id字符串,逗号分隔
* @return
* @author wangchaojie 2015年9月25日
*
*/
@RequestMapping(value = "/editRoleAuth/{roleid}")
@ResponseBody
public AjaxResult editRoleAuth(@PathVariable("roleid") long roleid, @RequestParam String authIds) {
AjaxResult ajaxResult = AjaxResult.errorResult("");
if(roleid == 0){
return ajaxResult;
}
try{
List<Long> authIdList = StrUtils.splitToListLong(authIds, ",");
roleAuthService.editRoleAuth(roleid,authIdList);
}catch(Exception e){
e.printStackTrace();
return ajaxResult;
}
return AjaxResult.successResult();
}
Service层
/**
*
* 方法说明:编辑角色权限信息
* @param roleid 角色id
* @param authIdList 权限idList
* @author wangchaojie 2015年9月25日
*
*/
@Transactional
public void editRoleAuth(long roleid, List<Long> authIdList) {
roleAuthDao.deleteByRoleidFk(roleid);
for(Long authId : authIdList){
RoleAuth roleAuth = new RoleAuth(authId,roleid);
roleAuthDao.save(roleAuth);
}
}
Dao层,持久层使用spring data jpa
@NoRepositoryBean
public interface CrudRepository<T, ID extends Serializable> extends Repository<T, ID> {
/**
* Saves a given entity. Use the returned instance for further operations as the save operation might have changed the
* entity instance completely.
*
* @param entity
* @return the saved entity
*/
<S extends T> S save(S entity);
分享到:
相关推荐
**zTree控件介绍** zTree是一款非常流行的JavaScript控件,专门用于构建树形结构的UI界面。它在Web开发中被广泛应用于目录展示、权限管理、组织结构展示等多种场景。zTree以其轻量级、易用性以及高度可定制化的特点...
在本案例中,我们关注的是如何在`ZTree 3.1`版本中添加自定义控件,例如“增”、“删”、“改”等操作,这些功能对于数据管理应用程序至关重要。 首先,我们需要了解`ZTree`的基本用法。`ZTree`通过JSON数据格式来...
ZTree的核心特性包括支持多级节点、拖拽操作、异步加载、权限控制等。而添加的搜索功能,则是通过在界面上添加一个搜索框,允许用户输入关键词,然后实时过滤并显示匹配的菜单项。这通常涉及对ZTree的数据模型进行...
- **添加**:zTree支持动态添加节点,可以在现有树结构中插入新的子节点或者父节点,提供便利的API调用来实现这一功能。 - **修改**:对已有的节点进行编辑,包括修改文本、图标、属性等,这些操作可以通过事件...
zTree是一款基于JavaScript的开源树形控件,它结合了ajax和json技术,实现了动态加载和数据交互,使得页面的交互性和用户体验得到了显著提升。本文将深入探讨zTree的核心特性和实际应用。 一、zTree简介 zTree是一...
**jQuery zTree树控件详解** jQuery zTree是一款基于JavaScript的开源树形插件,它在Web开发中广泛用于构建动态、交互式的树状数据结构。这个插件的核心优势在于其灵活性、易用性和丰富的功能集,使得开发者可以...
- **JSON数据格式**:ZTree通过JSON数据来定义树的结构,包括节点的ID、文本、父节点ID等信息。 2. **ZTree的初始化** - **HTML结构**:首先需要在HTML中创建一个用于显示树形控件的`<ul>`元素,作为ZTree的容器...
【ztree】是一款广泛应用于网页端的树形控件,尤其在数据管理和文件目录展示方面具有显著优势。它以其轻量级、高度可定制和强大的交互功能受到开发者的青睐。ztree的核心特性在于其能够动态加载数据,支持多选、单选...
zTree是一款广泛应用于Web开发中的强大且易用的树形控件,它的全称为"Z dynaTree",中文通常称为“动态树”。这个控件以其丰富的功能、灵活的配置和良好的性能,深受开发者喜爱。在本文中,我们将深入探讨zTree的...
- **多种操作**:zTree提供节点的增删改查功能,包括添加新节点、删除节点、编辑节点信息以及移动节点。 - **丰富的API**:zTree提供了一套完善的API,开发者可以通过调用这些API来控制树的操作,如展开/折叠节点、...
在实际项目中,ZTree不仅可以应用于下拉菜单,还可以用作文件管理、组织架构展示、权限控制等多种场景。通过深入学习和熟练掌握ZTree的API和配置选项,可以打造出高效且用户体验良好的树形交互界面。
zTree是一款基于JavaScript的开源控件,主要用于构建可交互的树形数据结构。在【zTree-zTree_v3-各种tree的使用大全(带搜索)】这个压缩包中,包含了zTree_v3的完整源码和相关示例,为开发者提供了全面了解和使用...
《JQuery_zTree_v2.6.02:JavaScript实现的高效树形控件解析》 JQuery_zTree_v2.6.02是一个基于jQuery的开源项目,它提供了强大的树形控件功能,适用于各种Web应用中的数据展示和交互。在JavaScript的世界里,zTree...
4. **异步加载**:对于大型数据集,zTree支持异步加载技术,即只在需要时加载子节点,提高页面加载效率。这通常与服务器端的数据接口配合使用,通过Ajax请求获取数据。 5. **节点状态管理**:zTree可以记录节点的...
除了基本的编辑功能,还可以扩展其他交互,如添加权限控制、验证表单数据、保存至服务器等。此外,根据需求,还可以自定义弹出层的样式和布局,以满足不同项目的视觉风格。 总结,"ztree树选中节点弹出层编辑"是...
比如,可能需要增加自定义的UI组件,优化性能,或者对ZTree的节点进行更复杂的操作,如添加权限控制等。 通过以上知识点的学习和应用,开发者可以快速构建出一个功能完善的后台管理系统,同时也能深入理解EasyUI和...
**jQuery zTree v3.1** 是一个基于jQuery的开源JavaScript库,专门用于构建树形结构的控件。它在Web开发中广泛应用于文件管理、组织结构展示、导航菜单等场景,提供了丰富的功能和高度的可定制性。zTree的核心特性...
ZTree是一款广泛应用于Web开发中的JavaScript树形控件,它具有丰富的交互性和高度的可定制性。在描述中提到的“ztree支持右键增删改操作”意味着ZTree允许用户通过鼠标右键点击节点来执行添加、删除和修改等操作,极...
zTree的核心特性包括节点的增删改查、多选、拖拽、异步加载、权限控制等功能。 **3.5版本** zTree的3.5版本是一个重要的更新,它包含了一些新的特性和改进。在这一版本中,开发者可能发现更好的性能优化、更多的...
6. **权限控制**:对于需要权限控制的应用,zTree允许设置节点的可访问性和操作权限,可以根据用户角色动态显示或隐藏某些节点。 7. **拖拽排序**:zTree支持节点的拖放操作,用户可以自由调整节点的顺序,同时也...