这是我的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行详细信息的页面。如果用户更改第二行,我需要将该索引发送到我的控制器,以便我可以使用该特定行的更新时间更新数据库吗?
答案 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>