Java SpringMVC-如何使用DAO+从JSP表中的数据库编辑数据;服务

Java SpringMVC-如何使用DAO+从JSP表中的数据库编辑数据;服务,java,mysql,spring,jsp,spring-mvc,Java,Mysql,Spring,Jsp,Spring Mvc,我得到了在jsp中创建的可编辑表,它显示了数据库中的整个表,在最后一列的旁边,我得到了“编辑”按钮,它更新了特定的行。问题是,单击“编辑”后,编辑的行不希望更新,并且控制台中会出现任何错误。我做错了什么 控制器: @RequestMapping(value="/employeelist.html", method = RequestMethod.POST) public ModelAndView editOrDeleteEmployee(Model model, @ModelAttrib

我得到了在jsp中创建的可编辑表,它显示了数据库中的整个表,在最后一列的旁边,我得到了“编辑”按钮,它更新了特定的行。问题是,单击“编辑”后,编辑的行不希望更新,并且控制台中会出现任何错误。我做错了什么

控制器:

@RequestMapping(value="/employeelist.html", method = RequestMethod.POST)
    public ModelAndView editOrDeleteEmployee(Model model, @ModelAttribute("employee") Employee employee, @RequestParam String editEmployee) throws SQLException{

        setAppContext();        

        clinicService.updateEmployee(employee, "2");

        List<Employee> employees = clinicService.getAllEmployees(); 
        model.addAttribute("employees", employees);

        ModelAndView mstaff = new ModelAndView("EmployeeList");
        return mstaff;

    }
服务:

public void updateEmployee(Employee employee, String id) {
    ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("clinicconfig.xml");
    employeeDAO = ctx.getBean("employeeDAO", EmployeeDAOImpl.class);

    employee.setName(employee.getName());
    employee.setLastName(employee.getLastName());
    employee.setGender(employee.getGender());
    employee.setPosition(employee.getPosition());
    employee.setSalary(employee.getSalary());
    employee.setPhoneNumber(employee.getPhoneNumber());
    employee.setAddress(employee.getAddress());
    employee.setId(employee.getId());

    id = employee.getId();

    employeeDAO.updateEmployee(employee, id);

}
JSP文件:

 <c:forEach items="${employees}" var="employee">
            <tr style="font-size: 10">
                <td>${employee.id}</td>
                <td><div contentEditable='true'>${employee.name}</div></td>
                <td><div contentEditable='true'>${employee.lastName}</div></td>
                <td><div contentEditable='true'>${employee.gender}</div></td>
                <td><div contentEditable='true'>${employee.position}</div></td>
                <td><div contentEditable='true'>${employee.salary}</div></td>
                <td><div contentEditable='true'>${employee.phoneNumber}</div></td>
                <td><div contentEditable='true'>${employee.address}</div></td>
                <td><form action="/VirtualClinic/employeelist.html?editEmployee=${employee.id}"  method="POST"><input type="submit" value="Edit"/></form></td>
            </tr>
            </c:forEach>

${employee.id}
${employee.name}
${employee.lastName}
${employee.gender}
${employee.position}
${employee.salary}
${employee.phoneNumber}
${employee.address}

您确定,您在控制器中接收到
员工
对象以及员工ID吗?我确定它不为空,在POST方法中,我添加了system.out.prinln(员工)并在控制台中显示了一些内容,其他DAO方法工作正常,因此我认为收到了该对象
 <c:forEach items="${employees}" var="employee">
            <tr style="font-size: 10">
                <td>${employee.id}</td>
                <td><div contentEditable='true'>${employee.name}</div></td>
                <td><div contentEditable='true'>${employee.lastName}</div></td>
                <td><div contentEditable='true'>${employee.gender}</div></td>
                <td><div contentEditable='true'>${employee.position}</div></td>
                <td><div contentEditable='true'>${employee.salary}</div></td>
                <td><div contentEditable='true'>${employee.phoneNumber}</div></td>
                <td><div contentEditable='true'>${employee.address}</div></td>
                <td><form action="/VirtualClinic/employeelist.html?editEmployee=${employee.id}"  method="POST"><input type="submit" value="Edit"/></form></td>
            </tr>
            </c:forEach>