- 上一篇复现了用户信息表-查询所有用户的功能
- 本文再梳理剩下几个功能的实现逻辑以及一些实现细节
- 添加\删除\更新
- 分页查询
- 复杂条件分页查询(动态sql)
- 信息回显
添加功能
- AddUserServlet
- 设置编码
- 获取提交表单的所有数据 (add.jsp)
- 封装对象
- 调用service完成保存
- 跳转到userListServlet, 再次查询(现实添加的结果)
删除功能
- DelUserServlet
- 从用户信息展示列表的删除按钮开始,携带记录id到servlet
- 调用删除service
- 跳转到userListServlet, 显示删除后的结果
修改功能
- findUserServlet(用于信息回显) 和 UpdateUserServlet
- 从用户信息展示列表的修改按钮开始,跳转到 ~~add.jsp ~~update.jsp (就差个title)
- 细节: 按钮要记录id, 作为参数。根据id查询用户信息 User , 存到request , 转发到 update.jsp 页面
- 这样,update.jsp 才有数据先回显信息
- 后面就是更新,小细节:由于update.jsp 没有展示id ,可以通过隐藏域提交 id
删除选中功能
- DelSelectedServlet
- 获取选中条目的id
分页查询
- PageBean{总记录数,总页码,每页的数据list,当前页码,每页显示条数}
- 分析好客户端 和 服务器间的输入输出
- currentPage 和 rows
- sql: select * from user limi ? ?
- FindUserByPageServlet
带条件的分页查询
- 要处理参数是动态的,sql 也需要动态生成的问题
- sql根据map中的value 动态生成
- 需要一个参数集合
- 上面点击不同页面,查询条件也要保留,所以查询条件也是需要会显的
常见Bug
- sql Like 要加% , eg: like %李%,否则结果可能不正确
- 没有收到数据jsp的数据一般就是 form表达没有写 action 或者标签没有加 name 属性