1 学习计划

1、角色管理

n 添加角色功能

n 角色分页查询

2、用户管理

n 添加用户功能

n 用户分页查询

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

4、使用ehcache缓存权限数据

n 添加ehcache依赖

n 配置缓存管理器

5、系统菜单根据登录人展示

n 调整页面ajax请求地址

n 服务端查询菜单数据

角色管理

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.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方法

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

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

使用ehcache缓存权限数据

ehcache是专门缓存插件,可以缓存Java对象,提高系统性能。

l ehcache提供的jar包:

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

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

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

系统菜单根据登录人动态展示

第一步:修改index.jsp页面中ajax方法的请求地址

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

第三步:在Service中提供方法

Dao代码:

注意:需要在Function类中提供getpId方法(用于显示父级目录)

    public String getpId(){
if(parentFunction == null)
return "0";
return parentFunction.getId();
}

 

JAVAEE——BOS物流项目12:角色、用户管理,使用ehcache缓存,系统菜单根据登录人展示的更多相关文章

  1. JAVAEE——BOS物流项目02:学习计划、动态添加选项卡、ztree、项目底层代码构建

    1 学习计划 1.jQuery easyUI中动态添加选项卡 2.jquery ztree插件使用 n 下载ztree n 基于标准json数据构造ztree n 基于简单json数据构造ztree( ...

  2. JAVAEE——BOS物流项目11:在realm中授权、shiro的方法注解权限控制、shiro的标签权限控制、总结shiro的权限控制方式、权限管理

    1 学习计划 1.在realm中进行授权 2.使用shiro的方法注解方式权限控制 n 在spring文件中配置开启shiro注解支持 n 在Action方法上使用注解 3.★使用shiro的标签进行 ...

  3. JAVAEE——BOS物流项目01:学习计划、搭建环境、主页设计(jQuery EasyUI)

    1 学习计划 1.项目概述 项目背景介绍 2.搭建项目开发环境 数据库环境 maven项目搭建 svn环境搭建 3.主页设计(jQuery EasyUI) layout页面布局 accordion折叠 ...

  4. JAVAEE——BOS物流项目03:学习计划、messager、menubutton、登陆拦截器、信息校验和取派员添加功能

    1 学习计划 1.jQuery easyUI messager使用方式 n alert方法 n confirm方法 n show方法 2.jQuery easyUI menubutton使用方式 3. ...

  5. JAVAEE——BOS物流项目10:权限概述、常见的权限控制方式、apache shiro框架简介、基于shiro框架进行认证操作

    1 学习计划 1.演示权限demo 2.权限概述 n 认证 n 授权 3.常见的权限控制方式 n url拦截权限控制 n 方法注解权限控制 4.创建权限数据模型 n 权限表 n 角色表 n 用户表 n ...

  6. JAVAEE——BOS物流项目09:业务受理需求分析、创建表、实现自动分单、数据表格编辑功能使用方法和工作单快速录入

    1 学习计划 1.业务受理需求分析 n 业务通知单 n 工单 n 工作单 2.创建业务受理环节的数据表 n 业务通知单 n 工单 n 工作单 3.实现业务受理自动分单 n 在CRM服务端扩展方法根据手 ...

  7. JAVAEE——BOS物流项目14:Linux部署(安装jdk、tomcat、mySQL)和扩展资料

    1 学习计划 1.Linux部署 n 安装jdk n 安装tomcat n 安装MySQL n 将项目发布到tomcat 2.扩展资料 2 Linux部署 2.1 安装jdk 第一步:获取Linux系 ...

  8. JAVAEE——BOS物流项目05:OCUpload、POI、pinyin4J、重构分页代码、分区添加、combobox

    1 学习计划 1.实现区域导入功能 n OCUpload一键上传插件使用 n 将文件上传到Action n POI简介 n 使用POI解析Excel文件 n 完成数据库操作 n 使用pinyin4J生 ...

  9. JAVAEE——BOS物流项目07:WebService入门、apache CXF入门、基于CXF发布CRM服务

    1 学习计划 1.WebService入门 n 什么是WebService n 调用网络上的WebService服务 n SOAP和WSDL概念 n 基于JDK1.7发布一个简单的WebService ...

随机推荐

  1. 谈谈spring的缓存

    缓存到底扮演了什么角色 请移步:  http://hacpai.com/article/1376986299174 在对项目进行优化的时候,我们可以主要从以下三个方面入手: 1 缓存 2 集群 3 异 ...

  2. FFmpeg示例程序合集-批量编译脚本

    此前做了一系列有关FFmpeg的示例程序,组成了<最简单的FFmpeg示例程序合集>,其中包含了如下项目:simplest ffmpeg player:                   ...

  3. Spark技术内幕:Master基于ZooKeeper的High Availability(HA)源码实现

    如果Spark的部署方式选择Standalone,一个采用Master/Slaves的典型架构,那么Master是有SPOF(单点故障,Single Point of Failure).Spark可以 ...

  4. Andriod的国际化-android学习之旅(五十八)

    android资源国际化

  5. iOS中 喷枪打字动画的实现

    实现原理比较简单,这里不做过多介绍. #import "ViewController.h" @interface ViewController () @property (weak ...

  6. 【Unity Tips】备忘录(扫盲篇)

    写在前面 Unity3D虽然是个非常方便的游戏引擎,但还是有一些地方会产生一些让人莫名其妙的问题,而且debug半天也不知道到底哪里错了.往往在经过了大量的log之后,也许我们才顿悟,原来Unity内 ...

  7. JSON 的数据转换格式(DataTable或DataSet) -善良公社项目

    这两天在使用JqueryEasyUI框架绑定数据并实现自动分页时,由于框架的限制需要使用Json数据的来传递与获取数据: JSON的全称是JavaScript Object Notation, 是一种 ...

  8. javascript之DOM文档对象模型编程的引入

    /* DOM(Document Object Model) 文档对象模型 一个html页面被浏览器加载的时候,浏览器就会对整个html页面上的所有标签都会创建一个对应的 对象进行描述,我们在浏览器上看 ...

  9. JdbcTemplate源码解析

    先写一个测试代码 package jdbc; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Arr ...

  10. ARM v7汇编与相关练习

    程序入口: _startc 语言入口: main@:              注释;main:           标签;伪指令:         给汇编器读的指令;.global main    ...