Foros del Web » Programación para mayores de 30 ;) » Java »

Recoger una colección enviada desde Servlet en JSP

Estas en el tema de Recoger una colección enviada desde Servlet en JSP en el foro de Java en Foros del Web. Hola Quiero enviar todos los resultados que contiene una tabla de mi base de datos a una JSP, la cual debe mostrarlos cuando es ejecutada. ...
  #1 (permalink)  
Antiguo 30/05/2010, 23:27
Avatar de Gguer  
Fecha de Ingreso: abril-2009
Mensajes: 125
Antigüedad: 15 años, 7 meses
Puntos: 1
Recoger una colección en JSP, enviada desde un Servlet

Hola

Quiero enviar todos los resultados que contiene una tabla de mi base de datos a una JSP, la cual debe mostrarlos cuando es ejecutada. Lo que he hecho en primera, es generar la consulta y después redireccionar hacia mi JSP colocando todo el ResultSet en un ArrayList en mi objeto de sesión.

La cuestión es que no puedo recogerlo en la JSP. No se puede con un cast? Tengo que importar el paquete de util en la JSP? Tenía pensado hacerlo todo más separadito, no usar tanto código JSP, pero el tiempo me apura. Pensaba usar Java Server Faces o Struts y combinarlos con JavaBeans para hacer esta tarea pero como les digo, el tiempo, el tiempo.

Alguno de ustedes tiene una solución o una propuesta o un link para ayudarme con esto?
Saludos

Última edición por Gguer; 02/06/2010 a las 08:36
  #2 (permalink)  
Antiguo 02/06/2010, 08:22
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 2 meses
Puntos: 188
Respuesta: Recoger una colección enviada desde Servlet en JSP

Te voy a dar una pista.

Si por ejemplo tienes un servlet que recoge una colección de objetos.

Collection objetosCol = loquesea...;

request.setAttribute("listadoObjetos", objetosCol);

En la jsp lo puedes recuperar de esta forma:

<%@ page import= "java.util.Iterator"%>
<%@ page import= "java.util.Collection"%>
<%@ page import= "java.util.ArrayList"%>
<%@ page import="...ObjetoVO"%>

<%
Collection objetosCol = (Collection)request.getAttribute("listadoObjetos") ;
if (objetosCol == null) objetosCol = new ArrayList();
%>

Donde ObjetoVO es la clase que representa al objeto contenido en objetosCol, y que solo debe aparecer si tú has creado ese tipo de objeto como específico.

Espero que te haya servido de ayuda.

Última edición por Fuzzylog; 02/06/2010 a las 08:23 Razón: ^-^
  #3 (permalink)  
Antiguo 02/06/2010, 08:32
Avatar de Gguer  
Fecha de Ingreso: abril-2009
Mensajes: 125
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Recoger una colección enviada desde Servlet en JSP

Hola

Te agradezco tu respuesta. He hecho algo similar:

Código HTML:
Ver original
  1. <&#37;@ page language="java" import="java.util.*" %>
  2. <%@page import="entidades.Jugador"%>
  3. <%ArrayList<Jugador> jugadores = (ArrayList<Jugador>)session.getAttribute("listaJugadores");%>

De esta manera obtengo en un objeto jugador el contenido de cada posición del ArrayList. El objeto jugador es un JavaBean y sólo accedo a los métodos set y get que están referenciados al objeto en cuestión.

Lo que no me queda muy claro es cómo poder enviar atributos por medio del objeto request pero sin tener que usar el método getServletConfig().getServletContext().getRequestD ispatcher("paginaX.jsp").forward(request, response); .

Hasta ahora envío todos mis parámetros por el objeto de sesión, pero para cerrar ésta, quiero enviar un parámetro a una página a la cual redirecciono (login.jsp), pero si lo envío por otro objeto de sesión, podrá causar conflictos? No quiero usar dispatcher, quiero pasarle el control a mi página de login después de cerrar sesión.

Alguna propuesta? Tengo opciones?
  #4 (permalink)  
Antiguo 06/06/2010, 05:15
 
Fecha de Ingreso: febrero-2010
Mensajes: 128
Antigüedad: 14 años, 9 meses
Puntos: 3
Respuesta: Recoger una colección enviada desde Servlet en JSP

no necesitas mandar ningún parámetro para realizar la acción que requieres....

Supongo que llamaras a salir sesión desde un link o algo así.

Crea un Servlet que reciba dicha petición y codificalo en el método doGet() o en el processRequest()

En el invalidas la sesión, y posteriormente redireccionas nuevamente a tu página login.jsp con response.sendRedirect("login.jsp")

Etiquetas: jsp, recoger, servlet
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:20.