部门管理(CRUD):
-
调用业务方法去查询所有的部门信息,添加到model对象中
public String list(Model model, QueryObject qo){ model.addAttribute(“list”, list); }注意:qo是框架自动将其存放到model对象中, 名称默认为该对象类型的首字母小写:queryObject
可以使用ModelAttribute注解去修改该属性的名称在页面上使用后JSTL+EL去获取共享数据
-
点击新增按钮去跳转到编辑页面上,将跳转的url绑定到按钮上,然后去获取
----->> var url = $(this).data(“url”) -
在编辑页面上获取保存数据的结果信息, 然后给用户一个提示
使用ajaxForm去获取到结果信息(后台需要将结果以JSON格式的数据响应)
使用artDialg去给出信息提示 -
点击删除超链接执行删除之前给用户一个确定对话框
当用户确认之后去执行删除操作, 删除成功之后去给用户提示信息 -
批量删除:
当用户没有选择要删除的数据的时候,给用户提示
删除之前给用户确认信息,然后再删除
要执行批量删除,我们需要获取到要删除的数据的id
将要删除的数据的id绑定到当前的复选框上,然后通过JS代码去获取
可以获取到一个id的数组 ids=[1,2,3]
发送ajax请求去执行批量删除操作
$.post(url, {ids : ids }, function(){ })
默认情况下,传递的参数如果是一个数组,那么jQuery就会在参数名称中添加一个[]
而在我们得需求中,我们是不需要这个[]的,,,可以使用jQuery.ajaxSettings.traditional = true禁用该功能
后台使用一个Long[]去接收该参数,然后去执行对应的sql删除数据
如果将id拼接到sql中(<foreach>去实现) collection:如果参数的类型是一个数组(array),如果是一个集合(list)
如果使用parm注解修改了参数的名称,那么就直接使用 该名称去获取到对应的数据
员工管理:
-
列表:需要将所有员工以及其所在部门信息显示出来,所以可以使用内联查询的方式将所有的数据查询数来
-
在编辑页面中需要为当前用户选择部门,所以需要将所有的部门信息查询出来显示在下拉框中
-
为当前用户分配角色
- 在左边下拉框中显示所有的角色信息,供我们来为其分配
- 实现角色信息在左右两个下拉框中的移动功能(jquery实现)
- 提交表单,将右边下拉框中的角色提交到后台
提交的参数:
roleId:1
roleId:2
roleId:3
在后台使用的方法中使用Long[] roleId来接收
保存关系数据
-
在编辑页面中,需要将当前用户拥有的角色显式出来:
将已经分配的角色从坐下拉框中删除(each/inArray/remove)
在提交表单之前将右边下拉框中的所有的选项选中,然后提交
系统菜单管理:
-
查询:
在页面中,默认显示一级菜单:
表中的parent_id为null的数据就是一级菜单
where parent_id is null基于菜单的分层管理的功能实现中,需要使用额外sql的方式去查询当前的菜单所有的父级菜单
-
查询下级:
传递要查询的菜单的父级菜单的id到服务器中去查询即可
where parent_id = #{parentId} -
翻页操作:
应该在当前所在菜单中的翻页: 在翻页的使用将父级菜单的id传递到后台 -
新增和编辑:
在编辑页面中,需要显式出当前所在的父级菜单的名称和id
将父级菜单的id传递到后台去查询父级菜单的信息
父级菜单的id: null parentName:根目录
父级菜单的id: 查询出来,将数据共享为parentId和parentName
权限
- 自定义注解(保存时期/能贴的位置/参数的传递)
- 贴注解
- 获取Spring容器对象:ApplicationContext
- 获取容器中所有的Controller对象:根据对象类型上所贴的注解
- 扫描所有的Controller对象中所有方法的注解
- 使用反射
- 拼接对应的权限表达式
- 获取权限的名称
- 执行保存
角色管理(原理跟用户管理相同)
- 建立实体类
- Mapper接口和xml
- 为当前用户分配角色
- 在左边下拉框中显示所有的角色信息,供我们来为其分配
- 实现权限信息在左右两个下拉框中的移动功能(jquery实现)
- 提交表单,将右边下拉框中的角色提交到后台
提交的参数:
persissionId:1
persissionId:2
persissionId:3
在后台使用的方法中使用Long[] persissionId来接收
保存关系数据 - 在编辑页面中,需要将当前用户拥有的角色显式出来:
将已经分配的角色从坐下拉框中删除(each/inArray/remove)
在提交表单之前将右边下拉框中的所有的选项选中,然后提交