JAVAEE——BOS物流项目12:角色用户管理,使用ehcache缓存,系统菜单根据登录人展示
Posted kent
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVAEE——BOS物流项目12:角色用户管理,使用ehcache缓存,系统菜单根据登录人展示相关的知识,希望对你有一定的参考价值。
1 学习计划
1、角色管理
n 添加角色功能
n 角色分页查询
2、用户管理
n 添加用户功能
n 用户分页查询
3、修改Realm中授权方法(查询数据库)
4、使用ehcache缓存权限数据
n 添加ehcache依赖
n 配置缓存管理器
5、系统菜单根据登录人展示
n 调整页面ajax请求地址
n 服务端查询菜单数据
2 角色管理
2.1 添加角色功能
2.1.1 页面调整
首先先完善pages/admin/function_add.jsp添加权限的页面,把下拉框改为combotree
他的数据格式为:
代码主要修改Dao的findAll方法:
Function.hbm.xml修改children为立即加载
在function.java中加上,成功实现下拉框的修改
然后继续进行下一步调整,打开页面:WEB-INF/pages/admin/role_add.jsp
第一步:修改页面,使用ztree勾选效果(checkbox)
第二步:修改ajax方法的请求URL地址
第三步:为保存按钮绑定事件,提交表单
2.1.2 服务端实现
创建角色管理Action、Service、Dao
Service代码:
配置struts.xml
2.2 角色分页查询
修改role.jsp页面中datagrid的URL地址
在RoleAction中提供分页查询方法:
3 用户管理
3.1 添加用户
页面:WEB-INF/pages/admin/userinfo.jsp
3.1.1 页面调整
第一步:发送ajax请求,获取角色数据,在回调函数中动态展示角色数据,展示为checkbox
<tr> <td>选择角色:</td> <td colspan="3" id="roleTD"> <script type="text/javascript"> $(function(){ //页面加载完成后,发送ajax请求,获取所有的角色数据 $.post(\'roleAction_listajax.action\',function(data){ //在ajax回调函数中,解析json数据,展示为checkbox for(var i=0;i<data.length;i++){ var id = data[i].id; var name = data[i].name; $("#roleTD").append(\'<input id="\'+id+\'" type="checkbox" name="roleIds" value="\'+id+\'"><label for="\'+id+\'">\'+name+\'</label>\'); } }); }); </script> </td> </tr>
Label的for属性可以使点击文字也能触发checkbox的点击事件。
第二步:在RoleAction中提供listajax方法,查询所有角色,返回json数据
第三步:为保存按钮绑定事件,提交表单
3.1.2 服务端实现
在UserAction中提供add方法,保存一个用户
Service代码:
配置struts.xml
3.2 分页查询
第一步:修改userlist.jsp页面中datagrid的URL地址
在数据表格中,修改field,由电话修改为角色
第二步:在UserAction中提供分页查询方法
第三步:在User类中提供getRoleNames方法,getBirthdayString方法
4 修改Realm中授权方法(查询数据库)
在FunctionDao中扩展方法,根据用户id查询对应的权限
5 使用ehcache缓存权限数据
ehcache是专门缓存插件,可以缓存Java对象,提高系统性能。
l ehcache提供的jar包:
第一步:在pom.xml文件中引入ehcache的依赖
第二步:在项目中提供ehcache的配置文件
第三步:在spring配置文件中配置缓存管理器对象,并注入给安全管理器对象
6 系统菜单根据登录人动态展示
第一步:修改index.jsp页面中ajax方法的请求地址
第二步:在Action中提供findMenu方法
第三步:在Service中提供方法
Dao代码:
注意:需要在Function类中提供getpId方法(用于显示父级目录)
public String getpId(){ if(parentFunction == null) return "0"; return parentFunction.getId(); }
以上是关于JAVAEE——BOS物流项目12:角色用户管理,使用ehcache缓存,系统菜单根据登录人展示的主要内容,如果未能解决你的问题,请参考以下文章
JAVAEE——BOS物流项目03:学习计划messagermenubutton登陆拦截器信息校验和取派员添加功能
JAVAEE——BOS物流项目01:学习计划搭建环境主页设计(jQuery EasyUI)
JAVAEE——BOS物流项目02:学习计划动态添加选项卡ztree项目底层代码构建