如何使用布尔方法从购物车中删除对象?

时间:2019-11-15 19:08:12

标签: java spring-mvc

我有问题。我有项目要做,我必须使用布尔方法从购物车中删除图书

我尝试过

在我的购物车模型中

    public boolean supprimer(String isbn)
    {

        List<LivreAchete> listelivre = (List<LivreAchete>) request.getSession().getAttribute("panier");
        listelivre = this.getListe();

        if(listelivre.removeIf((e)->e.getIsbn().equals(livre.getIsbn())))
        {

            request.getSession().setAttribute("panier",listelivre);
            return true;

        }
        else
            return false;   

    }

以及在我的控制器中

@RequestMapping(value="/librairie/supprimerLivre/{isbn}", method = RequestMethod.GET)
public String supprimerLivre(@PathVariable("isbn") String isbn, HttpServletRequest request){
    try{
     gestPanier = new GestPanier(request);
      //rechercher le livre qui correspond a l'isbn passer en parametre
     //LivreAchete livre = gestPanier.getListe().stream().filter(c -> c.getIsbn().equals(isbn)).findFirst().get();
    //supprimer le livre
    gestPanier.supprimer(isbn);
    return "redirect:/librairie/afficherPanier";  
    }
    catch(Exception ex){
        return "redirect:/librairie/"Error"
    }
}

但是当我运行我的项目时,我尝试删除本书,这是行不通的 有人可以帮我发现我的错误吗?

1 个答案:

答案 0 :(得分:2)

由于看不到其余的类,因此很难看清正在发生的事情,但是我的第一印象是这里的代码没有意义:

List<LivreAchete> listelivre = (List<LivreAchete>)request.getSession().getAttribute("panier");
listelivre = this.getListe();

您正在初始化LivreAchete列表对session属性的引用,然后在此之后立即将这个新声明的listelivre设置为getList()的返回值。

我会仔细看一下这段代码,但是我很难说出这段代码的用意。