springboot开发之修改员工

时间:2022-07-23
本文章向大家介绍springboot开发之修改员工,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

接上一节

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);
    }

启动服务器之后:

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

可以看到:

修改功能完成。