我有问题。我有项目要做,我必须使用布尔方法从购物车中删除图书
我尝试过
在我的购物车模型中
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"
}
}
但是当我运行我的项目时,我尝试删除本书,这是行不通的 有人可以帮我发现我的错误吗?
答案 0 :(得分:2)
由于看不到其余的类,因此很难看清正在发生的事情,但是我的第一印象是这里的代码没有意义:
List<LivreAchete> listelivre = (List<LivreAchete>)request.getSession().getAttribute("panier");
listelivre = this.getListe();
您正在初始化LivreAchete列表对session属性的引用,然后在此之后立即将这个新声明的listelivre设置为getList()的返回值。
我会仔细看一下这段代码,但是我很难说出这段代码的用意。