接上一节
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);
}
启动服务器之后:

点击编辑,并修改相关信息,点击修改:

可以看到:

修改功能完成。
来源:https://www.cnblogs.com/xiximayou/p/12257311.html