vc implementou o método equals pra classe produto?
Vini_Fernandes
Sugiro a voce implementar o equals(Object o) utilizando o ID de cada produto, bem como o hashCode().
Ate mais
edufera10
se não souber implementar o método equals() e hashCode() uma solução temporária é varrer a lista e verificar se o objeto passado por parametro é igual ao objeto na posição n da lista usando o método equals mesmo, ai ele vai achar o correto blz
peresjuliao
Posta o código ai cara, fica mais fácil
ViniGodoy
Esse cara tá de sacanagem. 215 mensagens no GUJ, e já deve ser pelo menos a terceira vez que falo para ele usar a tag code. Vai aqui o link novamente: http://www.guj.com.br/posts/list/50115.java
Para o método remove funcionar:
A classe produto deve implementar corretamente o método equals;
A classe produto deve implementar corretamente o método hashCode;
fabiodurgante
meu codigo pego os valores do checkbox selecionados e o ID do produto vem no value do checkbox
ProdutoDaopro=newProdutoDao();List<Produto>carrinho_atual=(List<Produto>)session.getAttribute("Carrinho_Compra");ProdutoT_lista=pro.Consultar(id_produto);carrinho_atual.remove(pro.Consultar(id_produto));//ou assim tambem nao funcionacarrinho_atual.remove(T_lista);session.setAttribute("Carrinho_Compra",carrinho_atual);
mas nao funciona nao para remover nao remove
ViniGodoy
Você tem certeza que o método pro.Consultar(idProduto) está retornando o produto certo?
fabiodurgante
aqui o metodo quando eu pesquizo pelo nome do produto ele aparece certo na lista
publicProdutoConsultar(Integerid_produto){Stringsql="SELECT * FROM produto WHERE id_produto = ?";try{PreparedStatementstmt=getConexao().prepareStatement(sql);stmt.setInt(1,id_produto);ResultSetrs=stmt.executeQuery();List<Produto>lista=getProduto(rs);if(lista.size()>0)returnlista.get(0);}catch(SQLExceptionsQLException){System.out.println("Erro ao consultar Produto");}returnnull;}publicList<Produto>listar(Integerid_produto){Stringsql="SELECT * FROM produto WHERE id_produto = ?";try{PreparedStatementstmt=getConexao().prepareStatement(sql);stmt.setInt(1,id_produto);ResultSetrs=stmt.executeQuery();returngetProduto(rs);}catch(SQLExceptionsQLException){System.out.println("Erro ao listar Produto");}returnnull;}noserveltStringnome_produto=request.getParameter("nome_produto");ProdutoDaopro=newProdutoDao();List<Produto>lista=pro.listar(nome_produto);request.setAttribute("lista",lista);request.getRequestDispatcher("Produto_Consultar.jsp").forward(request,response);
ai aparece bem certinho porem quando uso o listar
quando uso o consultar nao da erro mas com o listar incompativel tipos e com consultar da certo
List lista = pro.listar(nome_produto);
ViniGodoy
Seu código tem uma série de problemas:
Porque os parâmetros são do tipo Integer e não do tipo primitivo int?
Onde você está fechando os Statements? É necessário e imprescindível dar close() em todos os statements abertos;
Volto a pergunta. Tem certeza que aquela linha está retornando o produto corretamente? Pode ser que o id inválido esteja gravado na sessão, por exemplo. Ou que você esteja usando a constante errada. Não tem como vc fazer depuração?
tinha 2 produto adicionado na lista de codigo IDproduto 3 IDproduto 4
ai coloquei para excluir o produto 4 e o out.println (""+ p3.getid_produto()+""); saiu o numero 4 certinho esta pegando certo
porem nao apaga de maneira nenhuma