En resumen desde un formulario envío tres variables name, cantidad y precio luego cada vez que ese envian me gustaría mantener cada una de las variables enviadas en una variable de sesión (Exacto un carro de compras).
Para esto decidi guardar una lista genérica en un la variable de sessión la lista contiene un conjunto de objetos de tipo producto guarda perfectamente pero el momento que intento recorre la lista obtenida de la variable de sesión me aparece errores muy extraños.
Pongo el código y luego el error...
Código:
Bien el error dice lo siguiente:<%@ page contentType="text/html; charset=utf-8" language="java" import="java.util.*" errorPage="" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Respuesta jsp</title> </head> <body> <% class Producto{ public String nombre; public Double precio; public Integer cantidad; } HttpSession sesion=request.getSession(true); Producto p=new Producto(); p.nombre=request.getParameter("name"); p.precio=Double.parseDouble(request.getParameter("precio")); p.cantidad=Integer.parseInt(request.getParameter("cantidad")); List<Producto> lista = new ArrayList<Producto>(); if(session.getAttribute("lista")!=null){ lista=(List<Producto>)session.getAttribute("lista"); } lista.add(p); session.setAttribute("lista",lista); Iterator<Producto> iter = lista.iterator(); while (iter.hasNext()){ Producto producto=iter.next(); //El error es en esta linea... out.println(producto.nombre); } %> </body> </html>
org.apache.jasper.JasperException: Exception in JSP: /addcar.jsp:32
30: Iterator<Producto> iter = lista.iterator();
31: while (iter.hasNext()){
32: Producto producto=iter.next();
33: out.println(producto.nombre);
34: }
Causa raíz
java.lang.ClassCastException: org.apache.jsp.addcar_jsp$1Producto cannot be cast to org.apache.jsp.addcar_jsp$1Producto
Ya probé haciendo casting pero nada... Alguien ayúdeme es urgente por favor...