开发者学堂课程【使用 Spring Data Redis+zTree 实现授权模型的设计与思考:给角色分配菜单的需求分析】学习笔记,与课程紧密连接,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/745/detail/13178
给角色分配菜单的需求分析
内容介绍:
一、给角色分配菜单的需求分析
一、给角色分配菜单的需求分析
将 zTree 应用到项目中,先点进页面,但这个页面应该不是想要的页面,有一个正常页面,现在只需要跳转到正常页面,名字没有 test,只需删除 test就可以。
eue = "roleAction_tomodule", results = {
sult(name = "tomodule", location = "/WEB-INF/pages/'sysadmin/role/jRoleModule.jsp") })
ng tomodule( ) throws Exception {
"tomodule";
跳转到之前的页面,跟 zTree 是一样的插件,但这个页面需要发一个请求,因为页面会生成一个 ztree 的树,树是将请求发出来,再将数据响应回来。
接下来的方法就是将数据转换成 jason,再响应转换的一个方法。首先拿到角色,再压缩到实战对象。
//给某个角色分配菜单
Role role = roleService.get(model.getId());
super.push(role);
return "tomodule";
然后跳转到页面,跳转到页面之后会发一个 a.ks 请求,
在 action 中再添加一个方法,方法可以响应到文件中查询,然后生成ztree。
重新登录生成一个新的案例,点击系统管理,点击角色管理,勾选菜单跳转到页面,页面显示如下。
发现其中什么都没有,因为还没有方法,发布一个闭步请求:
var url = "${ctx}/sysadmin/roleAction_genzTreeNodes;
叫做生成ztree数据的一个方法,将方法名字复制过来,还有默认的方法,*@return
*@throws Exception*/
@Action(value = "roleAction_tomodule", results = {
@Result(name = "tomodule",location = "/WEB-INF/pages/sysadmin/role/jRoleModule.jsp")})
public string tomodule( ) throws Exception {
//给某个角色分配菜单
Role role = roleService.get(model.getId());super.push(role);
return "tomodule";
@Override
public..String ..dxecute()..throws..Exception..i
.TODO..Auto.-genecated..method..s.tub
return..super.execute()3
修改名字:
public..String .. genzTreeNodes ()..throws..Exception..{
因为需要的是一个异步数据,通过输出油将数据响应回去,跳转页面可以写成:public..void .. genzTreeNodes ()..throws..Exception..{就不会跳转页面了。
删掉:.TODO..Auto.-genecated..method..s.tub
return..super.execute()3
也不需要什么返回值,
/**
*生成 zTree 提供数据的方法*@throws Exception*/
public void genzTreeNodes( ) throws Exception {
加上注解:@Action( "roleAction_deletei)
第一步需要先知道格式,然后写程序来生成这个东西,跟之前格式基本差不多,需要先提供id,副id,名字以及多提供一个属性,也就是这个节点是否是默认选中的状态,有的页面刚跳转进来时选中的状态,格式如下:
(""1d";"值" "pId":"值" , "name ":"菜单名称" , "checked" : "true|false""), {""id"":"值","pId":"值" , "name" :""菜单名称”,"checked"" : ""true|false"}],最外面是个·中括号,是一个数组,假如是jason,里面正好是一个间值对,id是主id,pid是副id,name是菜单名称,checked表示菜单是否被选中,如果此格式生成,就可以把数据respond响应给页面,页面拿到数据之后就会调用初始化的方法,一调用方法就可以在页面上,应用跟需求就说完了。