针对home.jsp
<c:forEach var="row" items="${dataList}">
<tr>
<td>
<input type="text" value="${row[0]}" readonly/>
</td>
<td>
<input type="text" value="${row[1]}"/>
</td>
<td>
<input type="text" value="${row[2]}"/>
</td>
<td>
<input type="text" value="${row[3]}"/></td>
<td>
<input type="text" value="${row[4]}"/>
</td>
<td>
<input type="text" value="${row[5]}"/>
</td>
<td>
<input type="text" value="${row[6]}"/>
</td>
<td>
<a href="edit" ><input type="button" value="Update"></a>
</td>
<td>
<a href="delete"><input type="button" value="Delete"></a>
</td>
</tr>
</c:forEach>
我只希望编辑员工的数据到控制器,而不是所有员工,尝试每个注释。请指出将其转换为控制器的最佳方式
MyController代码
@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;
}
我希望在请求参数中编辑的员工数据。这可能是通过url发送数据的最佳方式。我有一个用于输入的员工模型类
答案 0 :(得分:0)
首先,您必须使用您要更新的员工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;
}