Código HTML:
Ver original
package Actions; import EJBS.*; import java.util.*; import javax.ejb.EJB; import javax.naming.*; import javax.servlet.http.*; import org.apache.struts.action.*; @EJB (name="carrito2", beanInterface=OperacionesLocal.class) public class carritoAction extends org.apache.struts.action.Action { private static final String SUCCESS = "compra"; private ArrayList<Producto> al=null; private boolean existe; @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { HttpSession ses = request.getSession(); al=new ArrayList<Producto>(); Producto p; System.out.print("entro aki "); Context ctx=new InitialContext(); OperacionesLocal cl=(OperacionesLocal) ctx.lookup("java:comp/env/carrito2"); int id=Integer.parseInt(request.getParameter("id")); existe=false; p = cl.getLista(id); if (ses.getAttribute("carrito") == null) { al.add(p); System.out.print("entro aki primero"); } else { try { System.out.print("entro aki segundo"); al = (ArrayList<Producto>) ses.getAttribute("carrito"); for (int i = 0; i < al.size(); i++) { System.out.print("id p" + p.getId() + "id" + id + p.getNombre() + "id al" + al.get(i).getId() + "hola" + al); System.out.print(al.get(i).getId() + "=" + id); if (al.get(i).getId() == p.getId()) { System.out.print("se repite"); existe = true; } } if (existe != true) { al.add(p); } } catch (Exception ex) { System.out.print("salta excepcion"); return null; } } System.out.print("valor existe"+existe); ses.setAttribute("carrito",al); return mapping.findForward(SUCCESS); } }
Saludos