Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/01/2011, 02:21
mixcoatl
 
Fecha de Ingreso: enero-2011
Ubicación: Ciudad de México
Mensajes: 2
Antigüedad: 13 años, 4 meses
Puntos: 0
Pregunta Java->JSP->¿Como obtengo una objeto guardado en una variable de sesión?

Hey... tengo un problema con JSP que me esta volviendo loco. Ayúdenme por favor..

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:
<%@ 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>
Bien el error dice lo siguiente:

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...

Última edición por mixcoatl; 05/01/2011 a las 02:23 Razón: Faltas de ortografía.