[英]How can I prevent the shopping cart item from incrementing when the user refresh the page?
我使用servlet和jsp制作了购物车,但是当我刷新cart
页面时,我面临的问题是增加购物车项目的数量。 实际上,我所做的就是每当用户单击某些产品(如addtocart.jsp?id=3
上的“添加到购物车”按钮,然后根据ID从数据库中提取产品时,在URL中传递特定product ID
。将其添加到购物车中,但是当我刷新此URL addtocart?id = 3时 ,此页面中的整个过程将再次运行,这将在每次刷新时增加产品数量。 我怎么解决这个问题。 有什么建议么?
product.jsp
<%
String id = request.getParameter("id");
Connection con = ConnectionManager.getConnection();
PreparedStatement ps = con.prepareStatement("Select * from products inner join images using(product_name) "
+ "where product_id=?");
ps.setString(1,id);
ResultSet rs= ps.executeQuery();
rs.next();
String name = rs.getString("product_name");
String image = rs.getString("image_name");
String company = rs.getString("company_name");
String category = rs.getString("category_name");
String sub = rs.getString("sub_category_name");
double price = rs.getDouble("price");
String summary = rs.getString("summary");
int hits = rs.getInt("hits");
//out.println(price);
%>
<div class="container_16" style="background: #FFF;">
<div class="grid_16 productHeading">
<h2 class="heading"><%=name %>- By <%= company %> <%=category%> </h2>
</div>
<div class="grid_10">
<h5>Category: <a href="#" onclick="return false"><%= category %> </a> >
<a href="#" onclick="return false"> <%= sub %> </a><br/><br/>
Priced At <span class="Bigred">RS. <%=price %></span>
</h5>
<h2>Summary Of this Item</h2>
<div class="grid_5" id="addtocart">
<a href="addToCart.jsp?id=<%=id%>">
Add To Cart
</a>
<% if(session.getAttribute("admin")!=null)
{
%>
<a href="addToCart.jsp?id=<%=id%>">
Edit
</a>
<%
}
%>
</div>
<br/>
<h6 class="grey">Summary of <%= name%></h6>
<p class="info">
<%= summary%>
</p>
</div>
<div class="grid_4" id="pimage">
<img src="<%= image%>">
</div>
</div>
使用发布/重定向/获取模式:
这里有一些防止这种情况发生的可能性。
看一下这个问题的答案如何避免刷新时在jsp中重新提交?
查看经过编辑的代码后,我建议添加代码以在处理完会话变量后将其删除,或者仅使用隐藏形式并使用输入标签传递参数
看你的代码
<a href="addToCart.jsp?id=<%=id%>">
采用
var url="addtocart.jsp";
url +="?id=" +value;
并将网址作为GET方法传递
要么
<a href="addToCart.jsp?id="<%=id%>>
不解决然后跟随
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.