Estou com um problemão, criei um processo de venda, no final do processo onde exibo uma tela com a escolha da forma de pagamento é listado todos os itens adicionados, se pressiono F5 para atualizar a página o método da página anterior que chamaa tela da lista é chamado de novo, nesse método faz busca do úlitmo produto que foi adicionado e põe na lista, o que está acontecendo é que quando atualizo a tela com a lista o método é chamado de novo e o úlitmo item é inserido na lista.
[code]
public String pagamento(){
itens_vendas = new ArrayList<Item_Venda>();
itens_vendas = (List<Item_Venda>) getSession().get("listaProdutos");
item_venda = new Item_Venda();
produto = ProdutoDAO.getInstance().buscaPorId(codigo_produto);
if (produto.getQuantidade_atual() < Integer.parseInt(qtdCompra)){
mensagem = "Quantidade superior a quantidade disponível.";
return "empilha";
}
item_venda.setProduto(produto);
item_venda.setValor(produto.getValor_venda());
item_venda.setQuantidade_produtos(Integer.parseInt(qtdCompra));
itens_vendas.add(item_venda);
getSession().put("listaProdutos", itens_vendas);
//Montando lista da tela de pagamento
lista_venda = new ArrayList<VendaActionForm>();
itens_vendas = new ArrayList<Item_Venda>();
itens_vendas = (List<Item_Venda>) getSession().get("listaProdutos");
VendaActionForm vendaActionForm;
totalVenda = 0.0;
for(Item_Venda item_venda : itens_vendas) {
vendaActionForm = new VendaActionForm(item_venda.getProduto().getNome(), String.valueOf(item_venda.getQuantidade_produtos())
,String.valueOf(new DecimalFormat("00.00").format(item_venda.getProduto().getValor_venda())),
String.valueOf(new DecimalFormat("00.00").format(item_venda.getQuantidade_produtos() * item_venda.getProduto().getValor_venda())));
totalVenda = totalVenda + (item_venda.getQuantidade_produtos() * item_venda.getProduto().getValor_venda());
lista_venda.add(vendaActionForm);
}
totalVendaFormatada = new DecimalFormat("00.00").format(totalVenda);
return "formaPagamento";
}[/code]