1

これが、クラスのリストを反復処理している私の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行のページが表示されるとします。ユーザーが2番目の行を変更した場合、その特定の行の更新時間でデータベースを更新できるように、そのインデックスをコントローラーに送信する必要がありますか?

4

1 に答える 1

0

/ update?id = [id to update]というサーバー側のURLがあり、各アイテムに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>
于 2012-09-25T21:41:54.317 に答える