gpt4 book ai didi

java - Java 中的 servlet

转载 作者:行者123 更新时间:2023-12-01 16:39:23 26 4
gpt4 key购买 nike

我想要的是显示一个产品列表,每个产品都有一个“添加到购物车”按钮。我如何将该按钮与产品关联起来?

即,如果我单击将商品 A 添加到购物车,我将如何在按钮中指定调用 ShoppingCart 类,从何处添加商品。

我已经有一个 servlet,用于将所有产品填充到 ArrayList 中,并将其转发到 JSP 页面。

<form action="products" method="get">
<table border=1>
<c:forEach items="${products}" var="product">
<tr>
<td>${product.id}</td>
<td>${product.description}</td>
<td>${product.unitPrice}</td>
<td><input type="button" value="Add to cart" onlick="????"/></td>
</tr>
</c:forEach>
</table>
</form>

最佳答案

将表格放入 <td>而不是围坐在 table 旁。使用<inupt type="submit">让按钮真正发挥作用,而不需要JavaScript hack,这在禁用JS的网络浏览器上无论如何都会失败。包括 <input type="hidden">在表单中传递产品 ID。

总结:

<table border=1>
<c:forEach items="${products}" var="product">
<tr>
<td>${product.id}</td>
<td>${product.description}</td>
<td>${product.unitPrice}</td>
<td>
<form action="products" method="get">
<input type="hidden" name="id" value="${product.id}" />
<input type="submit" value="Add to cart"/>
</form>
</td>
</tr>
</c:forEach>
</table>

这样,它将在doGet()中如下所示: servlet 监听 /products 的方法.

String id = request.getParameter("id");
// ...
<小时/>

与具体问题无关,您希望使用 POST 而不是 GET 来实现此目的。否则,当用户为结果页面添加书签并稍后打开它时,或者当她/他只是单击/跟随另一个人传递的链接(潜在的恶意)电子邮件/即时消息/网站/等中的人。替换method="get"通过method="post"并将逻辑移至 doGet()doPost() .

关于java - Java 中的 servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5476201/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com