![](/img/trans.png)
[英]Use a created object in servlet in JSP/forward object from servlet to JSP
[英]Set object from JSP to servlet
即使在stackOverflow上,我也找到了不同的解決方案,但它們對我不起作用。
我有一個JSP文件,可以動態顯示product
,它是Java用戶定義的對象,具有唯一的ID。 對於每種產品,它應該顯示所有信息以及一個顯示“添加到購物車”的按鈕。 如何實施添加到購物車?
我的代碼(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?
我找到了解決方案。
在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));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.