Boa tarde estou com dificuldade em fazer um procedimento simples, basicamente e recuperar o valor que o usuario preencheu , armazenar em uma sessao, encaminhar o usuario a uma pagina onde ele escolhe criar mas ou imprimir as criadas, se for criar + repete o recupera o valor que o usuario digitou , armazena na sessao e deixa disponivel para a impresao.
o problema e na na tela de impresao so aparece a ultima variavel armazenada na sessao nao todas como quero.
alguem tem uma ideia de como contornar isso???
segue as classes
servlet que pega os valores do cliente
ArrayList<ProdutoBean> lista= new ArrayList<>();;
pb=new ProdutoBean();
pb.setSkuGcom(Integer.parseInt(request.getParameter("sku")));
pb.setNomeGcom(request.getParameter("desc"));
pb.setPrecoGcom(Float.parseFloat(request.getParameter("preco")));
pb.setQntEtq(Integer.parseInt(request.getParameter("qnt")));
lista.add(pb);// adiciono o obj a lista
HttpSession session = request.getSession(true);// recupero a sessao
session.setAttribute("lista", lista);//jogo a lista na sessao
System.out.println( pb.getNomeGcom());
RequestDispatcher rd = request.getRequestDispatcher("View/+EtqPersonalizado.jsp");
rd.forward(request, response);// o usuario e encaminhado para pagina de escolha imprime ou faz mais
EtqPersonalizado
<form action="View/EtiquetaPersonalizada.jsp">
<input type="submit" value="Criar +">// volta para pagina que fornece os parametros para servlet
</form>
View/EtiquetaPersonalizada.jsp
<form action="View/a.jsp">
<input type="submit" value="Imprimir"> //exibe a pagina que deveria mostrar todos as etiquetas feitas pelo usuario, porem so mostra a ultima
</form>
pagina responsavel pela vizualizacao da lista
<c:forEach var="lp" items="${lista}">
nome ${lp.nomeGcom}
//aki se o usuario tiver feito tres etiquetas deveria aparecer o nome que ele deu a elas , mas so exibe ultimo :(
</c:forEach>
como dito a ideia e que quando o cliente acione imprimir apareca as lista de etiquetas deitas por ele?
desde já obrigado a todos pela ateção