Добавить в корзину функцию кнопки - PullRequest
0 голосов
/ 27 октября 2019

У меня проблема с добавлением товара из каталога в корзину. Мне удается сделать это для одного продукта, но когда я обновляюсь и добавляю другой продукт, предыдущий продукт исчезает и показывает только последний выбранный продукт. Я застрял здесь и не знаю, как это сделать. Я надеюсь, что кто-то может мне помочь

Ниже приведен код, который я пробовал

Product.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 + '}';

    }    

}

ListOf.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();

}

ShoppingController.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);         
    }
}

CartController.java


package Controller;

import java.io.IOException;
import java.io.PrintWriter;
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 = "CartController", urlPatterns = {"/cart"})
public class CartController extends HttpServlet {

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        RequestDispatcher dis=request.getRequestDispatcher("cart.jsp");          
        dis.forward(request, response);         
    }

}

Выходными данными должен быть список товаров, которые пользователь нажал «Добавить в корзину». Если пользователь щелкнул более 1 товара, то должно быть более 1 товара, но мне удается добавить только 1 товар в корзину, и предыдущий товар исчезнет. Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...