我已经找到了不同的解决方案,即使在stackOverflow上也是如此,但它们对我不起作用。
我有一个JSP文件,直接显示product,一个Java用户定义的对象,它有一个唯一的ID。对于每一个产品,它应该显示所有的信息和一个按钮,上面写着"Add“。如何实现添加到购物车?
我的代码(JSP):
<% List<Product> queryResults = (ArrayList<Product>) request.getAttribute("queryResults");
for(Product product : queryResults) { %>
<table class = "qrtable">
.......
<% User currentUser = (User) session.getAttribute("currentSessionUser");
if (currentUser != null){%> <!-- user is logged -->
<tr><td colspan="2">
<form action="${pageContext.request.contextPath}/cart" method="post">
<input type="submit" value="Add to cart"/>
</form>
</td></tr>
<%}
else{
} %>
</table>
<% } %>如何将产品添加到用户购物车中?当按下“添加到购物车”按钮时,如何将productID传递给servlet?
发布于 2017-09-22 12:42:41
我找到了解决办法。
在JSP中:
<% User currentUser = (User) session.getAttribute("currentSessionUser");
if (currentUser != null){%>
<tr>
<td colspan="2">
<form action="${pageContext.request.contextPath}/cart" method="POST">
<input type="hidden" name="productID" value="<%=product.getID()%>" />
<input type="submit" value="Add to cart"/>
</form>
</td>
</tr>
<%} else{%>
<tr>
<td colspan="2">Account required to buy.</td>
</tr>
<%} %>在servlet (方法POST)中:
int productID = Integer.parseInt(request.getParameter("productID"));
HttpSession session = request.getSession(true);
User loggedUser = (User) session.getAttribute("currentSessionUser");
loggedUser.getShoppingCart().addToCart(ProductDAO.getFromDatabase(productID));https://stackoverflow.com/questions/46362440
复制相似问题