接上一节
1、首先在显示员工信息那点击编辑按钮时要带上员工的id。
2、点击编辑按钮时,查询出员工信息并进行回显。
3、编辑界面和新增界面可以共用一个界面。根据emp是否为空来判断是新增还是编辑,如果不为空则显示相关信息。
4、发送PUT请求时,springboot已经为我们封装好了将POST请求转换成PUT和DELETE请求的HiddenHttpMethodFilter,我们要在add.html中加入:
<input type="hidden" name="_method" value="put" th:if="${emp!=null}"/>
5、相关java代码
EmployeeController.java
//来到修改页面,查出当前员工,在页面回显 @GetMapping("/emp/{id}") public String toEditPage(@PathVariable("id") Integer id,Model model){ Employee employee = employeeDao.get(id); model.addAttribute("emp",employee); //页面要显示所有的部门列表 Collection<Department> departments = departmentDao.getDepartments(); model.addAttribute("depts",departments); //回到修改页面(add是一个修改添加二合一的页面); return "emp/add"; } //员工修改;需要提交员工id; @PutMapping("/emp") public String updateEmployee(Employee employee){ System.out.println("修改的员工数据:"+employee); employeeDao.save(employee); return "redirect:/emps"; }
EmployeeDao.java
private static Integer initId = 1006; public void save(Employee employee){ if(employee.getId() == null){ employee.setId(initId++); } employee.setDepartment(departmentDao.getDepartment(employee.getDepartment().getId())); employees.put(employee.getId(), employee); } public Employee get(Integer id){ return employees.get(id); }
启动服务器之后:
点击编辑,并修改相关信息,点击修改:
可以看到:
修改功能完成。