pasar parametros en JSP

Pilar
27 de Junio del 2008
Hola!!
Tengo un problemilla para pasar parametros de una JSP a otra. El caso es que estoy siguiendo el patron MVC, y tengo una pagina controladora, que llama a una clase que accede a la base de datos, para recoger unos datos de varios productos. Estos resultados los guardo en un Vector que se devuelve a la pagina controladora.
Mi problema es, ¿como paso los resultados a la pagina que los visualiza si ni siquiera se cuantos tengo? He intentado pasar el vector con los resultados y recogerlo con request.getAttribute() pero no funciona. Podeis ayudarme por favor?? Muchas gracias

DannyO
27 de Junio del 2008
Pues guardar el vector como atributo de la session asociada al request en vez de como atributo de la request:

HttpSession session = request.getSession();
session.setAttribute("resultado", miVector);

para recuperarlos posteriormente en la página q los visualiza:

Vector miVector = (Vector) request.getSession().getAttribute("resultado");

Espero q te funcione así.

nicokiki
27 de Junio del 2008
Hola!!!!!!!!!!!

Es correcto lo q te dijeron pero no se recomienda pasar cosas por la sesion que pueden no pasarse por la sesion.
Volviendo a por q no te anda, habria q ver como lo estas seteando por el request. O sea, se hace asi:
request.setAttribute()
y luego se obtiene como vos dijiste.
Lo q tiene q quedar claro es q vos lo seteas seguro en un servlet (quizas el Action de STRUTS) de acuerdo a lo q entendi y a la pantalla q redirijas llegara lo q este en el request, pero no mas alla de la misma. Luego se pierde el valor. Si ese es tu caso => lo podes usar, pero si lo iras pasando entre pagina y pagina => el uso de la sesion es lo recomendado

Salu2!!!!!!!!!!!!!

Pilar
27 de Junio del 2008
Muchas gracias a los dos,
De momento estoy intentando hacerlo sin sesiones, porque es una tienda virtual, y debe tener la posibilidad de abrir una sesion o no. Solo necesito los resultados en la pagina que se visualiza, por lo que estoy intentando hacer como me has dicho, nicokiki. No se si te he entendido bien. Lo que estoy inentando es, declarar un nuevo vector. Lo seteo como dices con request.setAtribute(nuevo_vector, vector de los resultados bd); y lo paso a la siguiente pagina--> ..pagina.jsp?nuevo_vector=<%=nuevo_vector%>
En la siguiente recupero con request.getAtribute(vector) y me dice que error: getAttribute(java.lang.String) in javax.servlet.ServletRequest cannot be applied to (java.util.Vector)

Estoy un poco perdida, q estoy haciendo mal??
muchas gracias