Java 使用spring更新单个对象并通过url发送

Java 使用spring更新单个对象并通过url发送,java,hibernate,jsp,spring-mvc,Java,Hibernate,Jsp,Spring Mvc,home.jsp 我希望在请求参数中编辑员工数据。通过url发送数据的最佳方式是什么。我有一个用于员工输入的模型类首先,您必须使用员工Id填充员工对象,然后更新它。将员工Id从jsp传递给控制器,并在控制器中使用PathVariable @RequestMapping("/edit/{employeeId}") public ModelAndView editEmployee(@PathVariable Long employeeId, @RequestParam(value="employe

home.jsp


我希望在请求参数中编辑员工数据。通过url发送数据的最佳方式是什么。我有一个用于员工输入的模型类

首先,您必须使用员工Id填充员工对象,然后更新它。将员工Id从jsp传递给控制器,并在控制器中使用PathVariable

@RequestMapping("/edit/{employeeId}")
public ModelAndView editEmployee(@PathVariable Long employeeId, @RequestParam(value="employee") Employee emp) {
    emp = employeeDAO.findbyQuery("findByEmployeeId", employeeId).get(0);
    System.out.println(emp);
    List dataList =service.editEmployee(emp);
    if(dataList.equals("")|| dataList.equals(null))
    {
        mav.addObject("dataList",dataList);
        mav.setViewName("home");
    }

    else
    {
        mav.addObject("msg", "Failed to edit data");
        mav.setViewName("home");
    }
    return mav;
}

但是填充的Employee对象是否会包含对controller中的对象所做的编辑@suman Beharai如果您在jsp中使用spring表单,那么Employee对象将包含在ControllerB中对该对象所做的编辑,但我使用html输入并通过url发送,而不是提交。获取已编辑对象的可能方法是什么。我不希望使用新的jsp进行编辑,我认为这可能有助于您尝试。jsp中的小更改。在标记中传递员工id。建议的答案对你没有帮助。您需要的注释是@modeldattribute(“employee”)employee。您需要为每个员工单独填写一份表格,而不是为整个表格填写一份表格。有很多教程向您展示了SpringMVC中的基本绑定工作。例如:我知道@modeldattribute。问题是我不希望为每个员工编辑和更新一个单独的表单,我只希望使用HibernateTemplate.update(emp)更新编辑过的员工。中的任何解决方案都建议阅读Spring MVC手册并理解基本原理。
@RequestMapping("/edit")
    public ModelAndView editEmployee(@RequestParam(value="employee") Employee emp) {

        System.out.println(emp);
        List dataList =service.editEmployee(emp);
        if(dataList.equals("")|| dataList.equals(null))
        {
            mav.addObject("msg", "Failed to edit data");
            mav.setViewName("home");

        }

        else
        {

            mav.addObject("dataList",dataList);
            mav.setViewName("home");
        }
        return mav;
    }
@RequestMapping("/edit/{employeeId}")
public ModelAndView editEmployee(@PathVariable Long employeeId, @RequestParam(value="employee") Employee emp) {
    emp = employeeDAO.findbyQuery("findByEmployeeId", employeeId).get(0);
    System.out.println(emp);
    List dataList =service.editEmployee(emp);
    if(dataList.equals("")|| dataList.equals(null))
    {
        mav.addObject("dataList",dataList);
        mav.setViewName("home");
    }

    else
    {
        mav.addObject("msg", "Failed to edit data");
        mav.setViewName("home");
    }
    return mav;
}