我是一名初学者,正在阅读 Murach 的 Java Servlet 和 JSP……阅读示例。有点卡在这个 Ch11 简单的购物车示例中。
我会在这里发布整个代码,但它真的很长。
我已将完整代码放在我的保管箱链接上:https ://dl.dropboxusercontent.com/u/36625850/Ch11-JSTL.rar
问题:
CartServlet.java
if(quantity > 0) cart.addItem(lineItem); else if(quantity == 0) cart.removeItem(lineItem); session.setAttribute("cart", cart); String url = "/cart.jsp"; RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(url); dispatcher.forward(request, response);
这可能是一个愚蠢的问题。我注意到你不需要 {} 的 servlet If 语句?为什么是这样?我的意思是常规的 java if 语句都需要 { } 那么为什么 servlet 有什么不同呢?
购物车.java
public void addItem(LineItem item) { String code = item.getProduct().getCode(); int quantity = item.getQuantity(); for (int i = 0; i < items.size(); i++) { LineItem lineItem = items.get(i); if (lineItem.getProduct().getCode().equals(code)) { lineItem.setQuantity(quantity); return; } } items.add(item); }
我无法理解的是item.getProduct().getCode();
。我不确定这个输出会是什么。