角色管理原生态代码逻辑分享
Posted 龚轩明
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了角色管理原生态代码逻辑分享相关的知识,希望对你有一定的参考价值。
1、赋予角色是多对多,多对多的关系表进行增删查改,需要中间表来连接两张表关键字ID。通过中间表来进行增加查改。
添加权限:
1 @Autowired 2 private RoleService roleService; 3 // 添加角色 4 @RequestMapping(value="/addrole.action",method=RequestMethod.POST) 5 @ResponseBody 6 public String addRole(HttpServletRequest request,HttpSession session) { 7 //实现逻辑:1、从界面获取角色名字,把获取到的角色名字放入role表自动生成角色ID,再把这个ID存入中间表。 8 // 2、技术难点:因为复选框是多选,如何把多个选中的权限存入中间表而且ID是同一个人的。 9 // 解决问题:从界面获取复选框的值,如果是表单提交可以采用string[]数组去接收复选框的值,最好是通过写好的JS代码传值到后台, 10 //然后循环便利这个复选框数组,在循环的过程中把roleid和权限ID添加进数组就行了,这就实现了权限的添加。 11 String name=request.getParameter("name"); 12 String sex=request.getParameter("sex"); 13 //调用service层业务方法加入数据生成ID 14 Role r=new Role(); 15 r.setName(name); 16 r.setStatus(sex); 17 Timestamp ts = new Timestamp(System.currentTimeMillis()); 18 Date date= new Date();//创建一个时间对象,获取到当前的时间 19 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置时间显示格式 20 String str = sdf.format(date);//将当前时间格式化为需要的类型 21 try { 22 ts = Timestamp.valueOf(str); 23 } catch (Exception e) { 24 e.printStackTrace(); 25 } 26 roleService.addrole(r); 27 //添加进角色以后通过查询获取角色ID 28 List<Role>listrole=roleService.getOne(r); 29 Integer id = null; 30 for (Role role : listrole) { 31 id=role.getRoleid(); 32 } 33 int y=0; 34 String p=request.getParameter("position"); 35 String[] temp1=p.split(","); 36 //Jsp页面上获取到了muenid(数组)For循环。生成一个中间表对象。存如角色id和muenid。 37 for (int i = 0; temp1 != null && i < temp1.length; i++) { 38 Integer resultStr = Integer.valueOf(temp1[i]); 39 System.out.println("resu:"+resultStr); 40 Connection con=new Connection(); 41 System.out.println("id2:"+id); 42 con.setRoleid(id); 43 con.setMuenid(resultStr); 44 roleService.addConnection(con); 45 y++; 46 } 47 if(y>0){ 48 return "Y"; 49 }else{ 50 return "N"; 51 } 52 }
以上是关于角色管理原生态代码逻辑分享的主要内容,如果未能解决你的问题,请参考以下文章
《java精品毕设》基于javaweb宠物领养平台管理系统(源码+毕设论文+sql):主要实现:个人中心,信息修改,填写领养信息,交流论坛,新闻,寄养信息,公告,宠物领养信息,我的寄养信息等(代码片段