SSH入门项目-4-功能完善之CRUD

来源:互联网 发布:录像配音软件 编辑:程序博客网 时间:2024/06/05 08:04

这部分内容就准备写得简略一点了。大家可以自己试一下。

部门列表查询完善

数据库导入的数据不足10条,所以我们调整一下分页组件。
调整util中的pagesize常量为5。

查询详情

在DeptAction下继续做一个查看详情的方法。
这里一定要注意jsp中的方法调用的action与action的对应关系。

再做个新增方法

1,父部门的选择要选出所有的部门

    <!-- struts2标签  下拉列表            在base。jsp中导入了struts 的tag            name表示代表下拉框名称            list代表绑定的集合            headerkey代表就是请选择的key            headervale代表首选项value            listkey=option的value            listvalue=option的文本            实栈有2个区域,contents和root,加入井号应该是放入contents            上面的内容是struts的内容,我不准备搞struts了。 --><s:select name="parent.id" list="#deptList" headerKey="" headerValue="--请选择--" listKey="id" listValue="deptName"></s:select>    

2,放入值栈的栈顶

由于是集合,所以在这里需要用put的方法压入值栈中。

补充一个修改的方法

注意的内容是:
如果直接使用页面上传过来的model的话,会造成数据的丢失。所以在进行saveorupdate的时候,需要先根据id取出来这套记录,然后把这条记录修改的内容进行修改后,再进行更新。

解决小bug:不允许自己是自己的父部门

补充一个删除的方法

注意的内容是:
删除的时候具有同名框的一组值如何操作。

  • 如果服务器端是string类型,struts默认会采用“逗号+空格”做封装
  • 如果服务器端是Integer类型,就会只保留最后一个值

    关于删除的注意点:

  • 如果删除部门没有子部门,直接删除。

  • 如果删除部门有子部门,将子部门也删除。

如果直接删除的话,会由于删除顺序产生bug,比如先产出的父部门的id,子部门也会被删除,而循环删除的子部门的时候就会产生异常。所以我采用的是逻辑删除。不知道是否正确。

我准备把代码提交一下。
这是我GitHub仓库https://github.com/liuyang19900520/liussh.git

原创粉丝点击