如何在不使用get的情况下将id传递给servlet?

时间:2013-01-14 15:13:34

标签: html jsp

如何在不使用get方法的情况下传递id?只有邮政方法..

这是我的代码有一个get方法:

<c:forEach var="student" items="${studentList}">
    <tr>
    <td><c:out value="${student.firstName}" /></td>
    <td><c:out value="${student.middleName}" /></td>
    <td><c:out value="${student.lastName}" /></td>
    <td><c:out value="${student.yearLevel}" /></td>
    <td><c:out value="${student.scholarship}" /></td>
    <td><a href="student?page=edit&id=${student.id}">Edit</a></td>
    <td><a href="student?page=delete&id=${student.id}">Delete</a></td>
    </tr>
</c:forEach>
我尝试使用

   <input type="hidden" name="edit" value="${student.id}">
   <input type="hidden" name="delete" value="${student.id}">

但是列表中的第一个学生将始终被编辑,学生列表中的第一个学生将被删除

2 个答案:

答案 0 :(得分:1)

您需要为每个按钮创建单独的<form>标记。

否则,您的所有按钮都将共享表单中的所有输入。

答案 1 :(得分:0)

如果你能够使用jQuery,你可以这样做:

<script type="text/javascript">
$(function() {
    $(".studentAction").off("click").on("click", function() {
        var url = "student";
        url += "?page=" + $(this).attr("name");
        url += "&id=" + $(this).val();
        $.ajax({
            type: "POST",
            url: url,
            async: false,
            success: function(data) {
                // on success
            },
            error: function(data) {
                // on error
            }
        };
    });
});
</script>

<input class="studentAction" type="hidden" name="edit" value="${student.id}">
<input class="studentAction" type="hidden" name="delete" value="${student.id}">