我想将目录中的产品添加到购物车时遇到问题。我设法为单个产品执行此操作,但是当我刷新并添加另一个产品时,以前的产品消失了,只显示了我选择的最新产品。我被困在这里,不知道该怎么做。我希望有人可以帮助我
下面是我尝试过的代码
Product.java
[]
[]
ListOf.java
package Model;
public class Product {
private int id;
private String prodName;
private String desc;
private double pricePerUnit;
private int qtyInStock;
public Product(int id, String prodName, String desc, double pricePerUnit, int qtyInStock) {
this.id = id;
this.prodName = prodName;
this.desc = desc;
this.pricePerUnit = pricePerUnit;
this.qtyInStock = qtyInStock;
}
public String getProdName() {
return prodName;
}
public double getPricePerUnit() {
return pricePerUnit;
}
public int getQtyInStock() {
return qtyInStock;
}
@Override
public String toString() {
return "ProductModel{" + "id=" + id + ", prodName=" + prodName + ", desc=" + desc + ", pricePerUnit=" + pricePerUnit + ", qtyInStock=" + qtyInStock + '}';
}
}
ShoppingController.java
package Model;
import java.util.ArrayList;
import java.util.List;
public final class ListOf {
public static List<Product> products = new ArrayList();
static{
products.add(new Product(1,"Academic Book","Learn to program",50.00,100));
products.add(new Product(2,"Notebook","Latest notebook in the market",5500.00,10));
products.add(new Product(3,"Travel Charger","Travel Adapter",15.00,10));
products.add(new Product(4,"Lipstick","Red Matter Color",25.00,100));
}
public static List<Product> cartItems = new ArrayList();
}
CartController.java
package Controller;
import Model.ListOf;
import Model.Product;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import java.util.stream.Collectors;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(name = "ShoppingController", urlPatterns = {"/shopping"})
public class ShoppingController extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//step 1: fetch data
List<Product> result = ListOf.products
.stream()
.collect(Collectors.toList());
request.setAttribute("productList", result);
//step 2: do business logic
//step 3: generate output
RequestDispatcher dis=request.getRequestDispatcher("shopping.jsp");
dis.forward(request, response);
}
}
输出应该是用户单击“添加到购物车”的产品列表。如果用户单击了不止一种产品,则应该是不止一种产品,但是我只设法在购物车中拿到了一种产品,以前的产品将会消失。预先感谢