如何在列表对象上进行更改事件?

时间:2012-09-25 19:29:36

标签: spring hibernate jsp

这是我的JSP代码,我在其中迭代类列表..

<c:forEach items="${student.classes}" var="item" varStatus="status">
<tr>
<td><form:input path="classes[${status.index}].instructorName" size="20" maxlength="20"/></td>
<td><form:input path="classes[${status.index}].instructorGender" size="20" maxlength="20"/></td>
<td><form:input path="classes[${status.index}].instructorExp" size="20" maxlength="20"/></td>
</tr>
</c:forEach>

让我们说,我的列表中有3个对象,它将显示包含3行详细信息的页面。如果用户更改第二行,我需要将该索引发送到我的控制器,以便我可以使用该特定行的更新时间更新数据库吗?

1 个答案:

答案 0 :(得分:0)

假设您有一个名为/ update?id = [id to update]的服务器端网址, 并且你的每个项目都有一个名为id的字段,这样的东西应该可以工作。

<script type="text/javascript">
function updateUpdateTime(id) {
  var xmlhttp=new XMLHttpRequest();
  xmlhttp.open("GET","/update?id="+id,true);
  xmlhttp.send();
}
</script>

<c:forEach items="${student.classes}" var="item" varStatus="status">
<tr>
<td><form:input onchange="updateUpdateTime(${item.id})" path="classes[${status.index}].instructorName" size="20" maxlength="20"/></td>
<td><form:input onchange="updateUpdateTime(${item.id})" path="classes[${status.index}].instructorGender" size="20" maxlength="20"/></td>
<td><form:input onchange="updateUpdateTime(${item.id})" path="classes[${status.index}].instructorExp" size="20" maxlength="20"/></td>
</tr>
</c:forEach>