将对象从JSP传递给spring控制器

时间:2011-11-18 23:41:17

标签: spring jsp

我在.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
}

2 个答案:

答案 0 :(得分:1)

您需要为要发送到服务器的每个信息都有一个隐藏的表单字段。

由于每行都有一个按钮,因此每行还应该有一个表单。因此<form:form></form:form>行应位于<c:forEach>内,而不在外。

答案 1 :(得分:0)

您需要按位置引用实例,按位置访问列表元素。

list[i].name
list[i].surname

其中list是你的pojo中的元素。