BOS物流项目第十二天
教学计划
1、角色管理
a. 添加角色功能
b. 角色分页查询
2、用户管理
a. 添加用户功能
b. 用户分页查询
3、修改Realm中授权方法(查询数据库)
4、使用ehcache缓存权限数据
a. 添加ehcache依赖
b. 配置缓存管理器
5、系统菜单根据登录人展示
a. 调整页面ajax请求地址
b. 服务端查询菜单数据
1 角色管理
1.1 添加角色功能
1.1.1 页面调整
页面:WEB-INF/pages/admin/role_add.jsp

第一步:修改页面,使用ztree勾选效果(checkbox)

第二步:修改ajax方法的请求URL地址


第三步:为保存按钮绑定事件,提交表单


1.1.2 服务端实现
创建角色管理Action、Service、Dao

Service代码:

配置struts.xml

1.2 角色分页查询
修改role.jsp页面中datagrid的URL地址

在RoleAction中提供分页查询方法:

2 用户管理
2.1 添加用户
页面:WEB-INF/pages/admin/userinfo.jsp

2.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>
第二步:在RoleAction中提供listajax方法,查询所有角色,返回json数据


第三步:为保存按钮绑定事件,提交表单


2.1.2 服务端实现
在UserAction中提供add方法,保存一个用户

Service代码:

配置struts.xml

2.2 分页查询
第一步:修改userlist.jsp页面中datagrid的URL地址

在数据表格中,修改field,由电话修改为角色

第二步:在UserAction中提供分页查询方法

第三步:在User类中提供getRoleNames方法,getBirthdayString方法


3 修改Realm中授权方法(查询数据库)

在FunctionDao中扩展方法,根据用户id查询对应的权限

4 使用ehcache缓存权限数据
ehcache是专门缓存插件,可以缓存Java对象,提高系统性能。
ehcache提供的jar包:

第一步:在pom.xml文件中引入ehcache的依赖

第二步:在项目中提供ehcache的配置文件

第三步:在spring配置文件中配置缓存管理器对象,并注入给安全管理器对象

5 系统菜单根据登录人动态展示
第一步:修改index.jsp页面中ajax方法的请求地址

第二步:在Action中提供findMenu方法

第三步:在Service中提供方法

Dao代码:

注意:需要在Function类中提供getpId方法

总结
今天的内容比较难,学了比较久,敲代码更久,因为没弄懂。今天遇到的问题还算比较少,就是在修改添加用户和添加角色功能时候,点击保存,什么反应都没有,调试了很久,复制了新的页面就好了,原来是本来页面就存在问题。
BOS物流项目第十二天的更多相关文章
- BOS物流项目心得
定区管理 (和分区有何区别) : 区域管理针对自然行政区, 行政区域比较大,不可能让取派员去负责整个行政区域, 需要进行分区,将行政区域细分 ,成为很多小区域(分区), 需要为分区知道取派人员 , 在 ...
- JAVAEE——BOS物流项目01:学习计划、搭建环境、主页设计(jQuery EasyUI)
1 学习计划 1.项目概述 项目背景介绍 2.搭建项目开发环境 数据库环境 maven项目搭建 svn环境搭建 3.主页设计(jQuery EasyUI) layout页面布局 accordion折叠 ...
- JAVAEE——BOS物流项目03:学习计划、messager、menubutton、登陆拦截器、信息校验和取派员添加功能
1 学习计划 1.jQuery easyUI messager使用方式 n alert方法 n confirm方法 n show方法 2.jQuery easyUI menubutton使用方式 3. ...
- JAVAEE——BOS物流项目09:业务受理需求分析、创建表、实现自动分单、数据表格编辑功能使用方法和工作单快速录入
1 学习计划 1.业务受理需求分析 n 业务通知单 n 工单 n 工作单 2.创建业务受理环节的数据表 n 业务通知单 n 工单 n 工作单 3.实现业务受理自动分单 n 在CRM服务端扩展方法根据手 ...
- 学习BOS物流项目第九天
1 教学计划 1.业务受理需求分析 a. 业务通知单 b.工单 c.工作单 2.创建业务受理环节的数据表 a.业务通知单 b.工单 c.工作单 3.实现业务受理自动分单 a.在CRM服务端扩展方法根据 ...
- JAVAEE——BOS物流项目05:OCUpload、POI、pinyin4J、重构分页代码、分区添加、combobox
1 学习计划 1.实现区域导入功能 n OCUpload一键上传插件使用 n 将文件上传到Action n POI简介 n 使用POI解析Excel文件 n 完成数据库操作 n 使用pinyin4J生 ...
- JAVAEE——BOS物流项目08:配置代理对象远程调用crm服务、查看定区中包含的分区、查看定区关联的客户
1 学习计划 1.定区关联客户 n 完善CRM服务中的客户查询方法 n 在BOS项目中配置代理对象远程调用crm服务 n 调整定区关联客户页面 n 实现定区关联客户 2.查看定区中包含的分区 n 页面 ...
- JAVAEE——BOS物流项目10:权限概述、常见的权限控制方式、apache shiro框架简介、基于shiro框架进行认证操作
1 学习计划 1.演示权限demo 2.权限概述 n 认证 n 授权 3.常见的权限控制方式 n url拦截权限控制 n 方法注解权限控制 4.创建权限数据模型 n 权限表 n 角色表 n 用户表 n ...
- JAVAEE——BOS物流项目13:Quartz概述、创建定时任务、使用JavaMail发送邮件、HighCharts概述、实现区域分区分布图
1 学习计划 1.Quartz概述 n Quartz介绍和下载 n 入门案例 n Quartz执行流程 n cron表达式 2.在BOS项目中使用Quartz创建定时任务 3.在BOS项目中使用Jav ...
随机推荐
- es6(13)--Promise
//Promise { //原始方法 let ajax=function(callback){ console.log('执行') setTimeout(function(){ callback&am ...
- linux学习思维导图(转)
转自:https://blog.csdn.net/m1585761297/article/details/80017111 先附上一张学习路径的导图 导图一 导图二(一套) 1.Linux目录结构 2 ...
- Navicat Premium 12.0.18 / 12.0.24安装与激活
若使用Navicat Premium 12.1.8.0请转至Navicat Premium 12.1.8.0安装与激活,其实每个小版本更迭变化不大.另外最重要的是,请仔细阅读本文激活部分,总有一些人遇 ...
- ES6学习笔记<四> default、rest、Multi-line Strings
default 参数默认值 在实际开发 有时需要给一些参数默认值. 在ES6之前一般都这么处理参数默认值 function add(val_1,val_2){ val_1 = val_1 || 10; ...
- python二进制转换
例一.题目描述: 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 分析: python没有unsigned int类型 >>> print ("%x&qu ...
- ROS进阶学习笔记(11)- Turtlebot Navigation and SLAM - ROSMapModify - ROS地图修改
ROS进阶学习笔记(11)- Turtlebot Navigation and SLAM - 2 - MapModify地图修改 We can use gmapping model to genera ...
- 安装e(fx)clipse到Eclipse (JavaFX工具)
转载自:https://www.yiibai.com/javafx/install-efxclipse-into-eclipse.html 想要在 Eclipse 中开发 JavaFX,那么可安装 J ...
- python中的partition、rpartition
partition()从左向右寻找,以字符串中的某个元素为中心将左右分割共分割成三个元素并放入到元组中 partition()从右向左寻找,以字符串中的某个元素为中心将左右分割共分割成三个元素并放入到 ...
- winform 之控件ListView
使用ListView构建表格展示数据 1.添加列数据:控件ListView--上方按钮--视图(Details)--编辑列--添加 2.添加行数据:--编辑项(行)--添加 添加数据:Text:默认添 ...
- zabbix模块注意
1,每个监控组使用一个模版,对模版操作时会对监控组的每个模版进行修改操作.