柚子快报邀请码778899分享:day60
1、项目复习
1.1、项目第一天
1、项目概述
2、搭建开发环境(数据库、web项目、svn)
3、jQuery EasyUI
详解如下:
1、layout 页面布局 2、accordion 折叠面板
4、jQuery ztree 树形插件
详解如下:
1、使用标准json数据构造ztree var setting = {}; // 构造json数据 var zNodes = [ // 每个json对象对应一个节点数据 {name : '系统管理'}, // 每个json对象对应一个节点数据 {name : '用户管理', children : [{name : '用户添加'}, {name : '用户修改'}]}, // 每个json对象对应一个节点数据 {name : '权限管理'} ]; // 创建ztree $.fn.zTree.init($("#ztree1"), setting, zNodes); 2、使用简单json数据构造ztree var setting2 = { data : { simpleData : { // 启用简单json数据描述节点数据 enable : true } } }; // 构造json数据 var zNodes2 = [ // 每个json对象对应一个节点数据 {id : '1', pId : '0', name : '系统管理'}, // 每个json对象对应一个节点数据 {id : '2', pId : '0', name : '用户管理'}, {id : '21', pId : '2', name : '用户添加'}, {id : '22', pId : '2', name : '用户修改'}, // 每个json对象对应一个节点数据 {id : '3', pId : '0', name : '权限管理'} ]; // 创建ztree $.fn.zTree.init($("#ztree2"), setting2, zNodes2); 3、发送ajax请求获取菜单数据构造ztree var setting3 = { data : { simpleData : { // 启用简单json数据描述节点数据 enable : true } } }; // 发送ajax请求获取json数据构造ztree var url = "${pageContext.request.contextPath}/json/menu.json"; $.post(url, {}, function(data) { // 创建ztree $.fn.zTree.init($("#ztree3"), setting3, data); }, 'json');
5、PD使用,设计数据模型
1.2、项目第二天
设计BaseDaoBaseAction
设计BaseAction
实现用户登录功能和退出功能
jQuery EasyUI 的 messager 消息提示控件
1、alert 消息提示框
2、show 消息提示框(在屏幕的右下角显示一个消息窗口)
3、confirm 消息确认框
4、prompt 带有输入功能的消息确认框
5、progress 显示进度提示框
jQuery EasyUI 的 menubutton 菜单按钮示例代码如下:
自定义struts2拦截器,实现用户未登录时自动跳转到登录页面
基于ajax实现修改密码功能
1、window创建使用 --> easyui-window
2、EasyUI的validatebox
3、发送ajax提交修改后的密码
1.3、项目第三天
整体分析基础设置部分需求
实现取派员添加
1、扩展手机号校验规则 --> 使用正则表达式校验手机号
2、为保存按钮绑定事件
jQuery EasyUI 的 datagrid 数据网格控件 的使用方式
1、将静态HTML代码渲染成datagrid样式
2、由datagrid发送ajax请求获取服务端json数据,构造datagrid
3、使用EasyUI提供的API(js代码)动态构造一个datagrid
使用datagrid实现取派员分页查询
取派员批量删除(逻辑删除)
取派员修改功能
1、使用datagrid行双击事件处理函数onDblClickRow,弹出修改窗口,并且回显数据(注意:页面上本来就有数据,直接回显即可,就不用去数据库查了)示例代码如下:
rowIndex:被双击行的索引,从 0 开始 rowData:被双击行对应的记录(对应的数据) // 当用户双击一行时触发该事件 function doDblClickRow(rowIndex, rowData) { // rowData => id:xxx,name:xxx,... // 打开修改取派员窗口 $('#editStaffWindow').window("open"); // 回显数据 // $("input[name=name]").val(rowData.name); // 显示姓名 $('#editStaffForm').form("load", rowData); // 显示整个表格的数据 }
1.4、项目第四天
实现区域批量导入功能
1、jQuery OCUpload(一键上传插件)
2、apache POI 解析Excel文件内容
3、使用 pinyin4J 生成简码和城市编码
实现区域的分页查询,重构分页代码(将Action中的属性和方法统一提取到BaseAction中)
实现分区的添加功能
1、jQuery EasyUI 的combobox下拉框 使用(2种方式)
解决区域分页查询的bug
实现分区分页查询(没有过滤条件)
实现分区组合条件分页查询
分区数据导出功能
1、查询所有数据
2、使用POI创建一个Excel文件,并且写入数据
3、文件下载
1.5、项目第五天
定区添加功能
1、使用combobox下拉框展示取派员
2、使用datagrid数据表格展示分区数据
定区分页查询
hessian入门 --> 远程调用技术
httpClient --> 模拟浏览器效果(淘淘商城大量使用)
dubbo --> 阿里巴巴,后期自学内容
基于hessian实现定区关联客户
1.6、项目第六天
业务受理分析(业务通知单、工单、工作单)
实现业务受理、自动分单业务功能
数据网格datagrid的编辑功能的使用
onAfterEdit:function(rowIndex,rowData,changes) { // 数据网格的事件:当前行结束编辑状态时触发 }
基于数据网格datagrid编辑功能实现工作单快速录入功能
1.7、项目第七天
权限概述(认证、授权)
常见的权限控制的方式(URL、方法注解)
权限数据模型(权限表、角色表、用户表、角色权限关系表、用户角色关系表)
apache shiro框架调用流程
shiro的程序运行流程:Application Code --> Subject --> Shiro SecurityManager --> Realm
将shiro引入bos项目进行认证和授权
shiro提供的权限控制方式
1、URL拦截
2、方法注解
3、页面标签(shiro标签库)
4、代码级别(编码方式)
1.8、项目第八天
权限管理(初始化权限(通过sql脚本)、查询、添加)
角色管理(添加、查询)
用户管理(添加、查询)
修改自定义BOSRealm中的授权方法,通过查询数据库获得登录人的权限
使用ehcache 缓存权限数据
系统的左侧菜单根据当前登录用户的权限动态展示
1.9、项目第九天
工作流概念
安装eclipse插件 --> 流程设计器
activiti框架底层有数据库支持,对应23张表
创建+了解23张表
1、act_re_*
2、act_ru_*
3、act_id_*
4、act_hi_*
5、act_ge_*
使用activiti的API操作流程
1、部署流程定义
2、查询流程定义
3、查看png图片
4、启动流程实例
5、查询流程实例
6、查询组任务
7、拾取组任务
8、查询个人任务
9、办理个人任务
1.10、项目第十天
流程变量(设置、获取)
组任务(候选人、候选组)
1、查询组任务
2、拾取组任务
排他网关的使用(常用)
spring 整合 activiti框架
在bos中实现流程定义管理
1.11、项目第十一天
流程实例管理(查询流程、查看流程实例运行状态(查询部署id、图片名称、查询坐标))
数据同步(将用户和角色数据同步到activiti对应的用户表和组表中去)
设计物流配送流程
启动物流配送流程
查询组任务、拾取组任务
查询个人任务、办理个人任务
柚子快报邀请码778899分享:day60
好文阅读
发表评论