我在.JSP页面中有以下表格:
<form:form method="post" action="update.dtt" id="contactForms" modelAttribute="contactForms" >
<c:forEach items="${pList}" var="cf">
<tr>
<td align="center"><c:out value="${cf.fname}" /></td>
<td align="center"><c:out value="${cf.lname}" /></td>
<td align="center"><c:out value="${cf.cprovider}" /></td>
<td align="center"><c:out value="${cf.id}" /></td>
<td align="center"><c:out value="${cf.phone}" /></td>
<td><input type="submit" value="Update Contact"/></td>
</tr>
</c:forEach>
</form:form>
我正在遍历列表(这是对象列表)并为列表中的每个记录添加“更新联系人”按钮。如何在单击“更新”按钮时将特定实例(对象)传递给控制器?
我的控制器如下。但是我得到了空。
@RequestMapping(value = "/user/update.dtt", method = RequestMethod.POST)
public String updateView(@ModelAttribute("contactForms") Banks bank, HttpServletRequest request, HttpServletResponse response, Model model) {
System.out.println("*First Name*" + bank.getFname());
//......
return "detailBank"; //name of jsp file
}
答案 0 :(得分:1)
您需要为要发送到服务器的每个信息都有一个隐藏的表单字段。
由于每行都有一个按钮,因此每行还应该有一个表单。因此<form:form>
和</form:form>
行应位于<c:forEach>
内,而不在外。
答案 1 :(得分:0)
您需要按位置引用实例,按位置访问列表元素。
list[i].name
list[i].surname
其中list是你的pojo中的元素。