Hola me gustaria saber si veis algun error en esto:
Código HTML:
Ver originalpackage 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