Java 如何从JSP中的文本字段中获取自定义值?

Java 如何从JSP中的文本字段中获取自定义值?,java,javascript,jsp,Java,Javascript,Jsp,我在一个非常简单的小型web应用程序中工作,它是一个处理购物车的jsp 此时我要做的是迭代存储在汽车中的所有产品,并在每次迭代时将它们逐个添加到jsp中 这是在每次迭代中向jsp添加一行的代码: <tr> <td> <input type=text name=Quantity value=<%=quantity%>> </t

我在一个非常简单的小型web应用程序中工作,它是一个处理购物车的jsp

此时我要做的是迭代存储在汽车中的所有产品,并在每次迭代时将它们逐个添加到jsp中

这是在每次迭代中向jsp添加一行的代码:

            <tr>        
            <td>
                <input type=text name=Quantity value=<%=quantity%>>
            </td>
            <td>
                <input type=text name=id value=<%=id%>>                 
            </td>
            <td>
                <input type=submit value="Delete" onclick=<%CustomSubmit(request,  id); %>>
            </td>
        </tr>

如您所见,我在每行末尾添加了一个submit type控件,该控件带有一个用于处理单击事件的自定义方法,使用该控件可以从汽车中删除相应的产品

我遇到的问题是,当我单击产品的delete按钮时,传递给CustomSubmit(…)方法的id不是我试图删除的产品的id,而是添加到jsp的最后一个产品的id


因此,我的问题是,如何从要删除的项目中获取正确的id?

我使用的方法如下:

替换

<input type=submit with a button
<input type="button" value="Delete" onclick="deleteIt('yourid');" />

我假设您的购物车是一个对象列表,每个对象都有属性id和数量。所以我希望您的代码看起来像这样(注意Peter关于使用“按钮”的回答):



我不完全确定您在原始代码中试图使用'request'参数做什么,但如果这是HTTP请求,那么当您尝试将其写入JSP时,您将得到的所有结果都是
request.toString
方法的结果。

您如何迭代购物车中的每个项目?我在ArrayList()中获得了它们这包含在会话作用域中的Java Bean中。感谢您的旁注,我将这样做,现在关于您的建议,我了解javascript函数部分,但是如何获取'yourid'变量,因为{m动态添加行,我不知道用户要删除的产品id是哪个,id包含在行的一列中,但我不知道如何获取它…好吧,实际上您可以忽略请求参数,这在此时并不重要;正如您所说,这正是我的工作方式,但是问题是,当触发事件并执行此代码“CustomSubmit(“”)”时,我没有从要删除的项中获取“cartItem.id”,而是从添加到jsp的最后一个项中获取“cartItem.id”。一种解决方案是尝试获取“cartItem”从列表中,但为了做到这一点,我需要知道我要删除的项目的行号,我也不知道如何获取行号。当您在浏览器中查看页面源时,表中的每一行是否具有相同的id?如果是,那么问题不在于此代码,而是在于迭代逻辑或购物车项目对象如果没有,那么你的JavaScript就出了问题,现在是时候破解Firebug并看看发生了什么。
dont use <input type=submit but use <input type="submit" 
  <td>
<input type="text" name="id" value="<%=id%>">
  </td>
<td>
<input type="button" value="Delete" onclick="deleteItem('<%=id%>')">
</td>
<input type="button" value="Delete" onclick="CustomSubmit('<%=cartItem.id%>');"/>