ServletsJSP:如何为HTML表的每一行放置删除修改按钮!

ServletsJSP:如何为HTML表的每一行放置删除修改按钮!,servlets,Servlets,我试图向HTML表的每一行添加一个“删除”和一个“修改”按钮。 如果我使用这种方法,“id”的值等于第一行的id值,即使我按下了第2-n行的按钮 <% if (listx.size() > 0) { int j = 0; for (int i = 0; i < listx.size(); i++) { Contact x= listx.get(i); %> <form action="

我试图向HTML表的每一行添加一个“删除”和一个“修改”按钮。 如果我使用这种方法,“id”的值等于第一行的id值,即使我按下了第2-n行的按钮

<%  if (listx.size() > 0)
    {
        int j = 0;
        for (int i = 0; i < listx.size(); i++)
        {
            Contact x= listx.get(i);
%>
<form action="servl" method="get">
    <tr>
        <td><%=++j%>            </td>
        <td><%=x.getName()%>            </td>
        <td><%=x.getCar()%>            </td>
        <td><%=x.getZip()%>            </td>

        <td>
            <input type="hidden" name="ID" value="<%=x.getId()%>">
            <input type="submit" name="action" value="modify">
            <input type="submit" name="action" value="delete"</td>
    </tr>
<%
    } %>
0)
{
int j=0;
对于(int i=0;i

您的
联系人
已分配给
x
,但您在隐藏的“ID”中使用了
联系人
。另外,为什么需要额外的
j
变量…您不能只使用
(i+1)

编辑:


我看到你偷偷地更新了你的代码来纠正变量问题。你仍然有问题吗?一些明显的问题…你的每个联系人是否都有ID,并且是
getId()
如果在JSP之外循环,返回正确的值?

您的
联系人
被分配到
x
,但是您在隐藏的“ID”中使用了
联系人
。另外,为什么需要额外的
j
变量…您不能只使用
(i+1)

编辑:


我看到你偷偷地更新了你的代码来纠正变量问题。你仍然有问题吗?一些明显的问题…你的每个联系人是否都有ID,并且是
getId()
如果在JSP之外循环,返回正确的值?

1.是的,您是rite,我稍微更改了变量的名称,因为它们使用了另一种语言。2.可能,但这不是我的问题。:)是的,我偷偷地更新了代码。:)2.是的,每个联系人都有自己的id。我使用了“页面源代码”来自Firefox,每一行都有自己的唯一id。如果我使用“get”方法(HTML),URL是这样的:ID=1&ID=2&action=modify&ID=3&ID=4&ID=5Oh,我明白了。因为每一行都有一个隐藏的输入元素,所以它会将所有的值发送到服务器。我发现了问题。我没有关闭每一行的表单标记。我只在表的结尾处关闭标记,所以每次按下行按钮时,每个“ID”was send.1.是的,你是rite,我稍微更改了变量的名称,因为它们使用的是另一种语言。2.可能,但这现在不是我的问题。:)是的,我偷偷更新了代码。:)2.是的,每个联系人都有自己的id。我使用Firefox的“页面源代码”,每行都有自己的唯一id。如果我使用“获取”方法(HTML),URL是这样的:ID=1&ID=2&action=modify&ID=3&ID=4&ID=5Oh,我明白了。因为每一行都有一个隐藏的输入元素,所以它会将所有的值发送到服务器。我发现了问题。我没有关闭每一行的表单标记。我只在表的结尾处关闭标记,所以每次按下行按钮时,每个“ID”他被派去了。
<input type="submit" name="action" value="NameOfTheAction">