我正在使用以下代码从数据库中显示我的数据,但我无法在事件中向数据库添加数据,例如当我点击“添加到购物车”按钮时
query = "select * from books";
rs = st.executeQuery(query);
out.println("<h4><marquee> WELCOME TO BOOK SECTION </marquee></h4>");
out.println("<table border=1>");
count=1;
while (rs.next()) {
i++;
itemName = rs.getString("BOOK_NAME");
avail = rs.getString("BOOK_AVAIL");
cost = rs.getFloat("BOOK_sell_price");
if(count==1){
out.print("<tr>");
}
out.println("<td>" + itemName + " "+ avail + " " + cost + "<br>");
out.println("<input type=button value='add to cart' onclick=addcart();>");
out.print("</td>");
count+=1;
if(count>3){
out.print("</tr>");
count=1;
}
任何人都可以提供适当的方法在后端添加这些项目,这样当我转到cart.jsp
时,我将能够在购物车上找到我点击“添加到购物车”的商品吗?< / p>
我不知道如何在不操纵上述代码的情况下使用会话,如果有其他方法可用,请告诉我。
提前谢谢你。
答案 0 :(得分:0)
只需将每个添加按钮放在其自己的<form>
中,其中您将产品ID定义为隐藏输入字段。你当然有一个代表DB表中产品ID的列,不是吗?
<form action="add" method="post">
<input type="hidden" name="id" value="${id}" />
<input type="submit" value="Add to cart" />
</form>
这样id
可用作请求参数。不需要丑陋的Javascript黑客攻击,这会使您的网站在禁用JS的网站上无法使用。