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

Paso de datos de Servlet a JSP

Estas en el tema de Paso de datos de Servlet a JSP en el foro de Java en Foros del Web. Buenas Tardes: Señores una consulta tengo un problema, tengo un formulario en un archivo JSP llamémoslo "A", el cual envía datos a un Servlet llamada ...
  #1 (permalink)  
Antiguo 07/12/2015, 15:33
 
Fecha de Ingreso: diciembre-2015
Mensajes: 1
Antigüedad: 8 años, 4 meses
Puntos: 0
Paso de datos de Servlet a JSP

Buenas Tardes:

Señores una consulta tengo un problema, tengo un formulario en un archivo JSP llamémoslo "A", el cual envía datos a un Servlet llamada "ServletA", y quisiera que este Servlet devuelva datos al mismo JSP "A", el dato a devolver es un tipo ArrayList que que almacena el resultado de una consulta, podrán ayudarme?, la idea es que el resultado se muestre en un tabla debajo del formulario que se encuentra en el JSP "A".
Muchas Gracias de antemano.

Saludos
Manuel Villavicencio
  #2 (permalink)  
Antiguo 07/12/2015, 17:14
Avatar de Andreslrz  
Fecha de Ingreso: septiembre-2008
Mensajes: 99
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Paso de datos de Servlet a JSP

Hola.

Devolver un array como tal de poderce se puede, pero te recomiendo que retornes un JSON, lo que necesitas es un poco de Ajax. puedes usar JQuery. Yo generalmente utilizo el


Código Javascript:
Ver original
  1. $.post('url del servllet', {dato1:valor, dato2:valor2... daton:valorn}, function(response){//el response es un string generalmente pero puede ser un objeto json}};
te explico, lo que va despues de la url del servlet es un arreglo que recibes en el servlet y la parte del function es lo que retorna el servlet, asi a grandes razgos.

en el servlet para resivir harias lo siguiente en el processRequest

Código Java:
Ver original
  1. String dato1 = request.getParameter("dato1");//sacas el dato1 que enviaste por el $.post y asi mismo todos los datos.
para el retorno es lo igual de facil, en el processRequest generalmente te pone esto al crearlo:

Código Java:
Ver original
  1. response.setContentType("text/html;charset=UTF-8");
  2.         try (PrintWriter out = response.getWriter()) {
  3.             /* TODO output your page here. You may use following sample code. */
  4.             out.println("<!DOCTYPE html>");
  5.             out.println("<html>");
  6.             out.println("<head>");
  7.             out.println("<title>Servlet NewServlet</title>");            
  8.             out.println("</head>");
  9.             out.println("<body>");
  10.             out.println("<h1>Servlet NewServlet at " + request.getContextPath() + "</h1>");
  11.             out.println("</body>");
  12.             out.println("</html>");
  13.         }

con eto puedes retornar una pagina entera para mostrar en un submit o retornar datos en una consullta asincrona con ajax.

para retornar datos simplemente quitas todo el html y en el out.println() pones lo que vas a restornar, ya sea una cadena, un numero, un boolean o un objeto JSON, recuerda que siempre llegara a la pagina como un string, para los JSON en el $.post haces el parsin y te quedara un objeto js.
Ej.
Código Java:
Ver original
  1. response.setContentType("text/html;charset=UTF-8");
  2.         try (PrintWriter out = response.getWriter()) {
  3.             out.println("mensaje de respuesta");
  4.         }

tambien puedes enviar un objeto html si escribes el codigo html en la respuesta
ej:
Código Java:
Ver original
  1. response.setContentType("text/html;charset=UTF-8");
  2.         try (PrintWriter out = response.getWriter()) {
  3.             out.println("<option value="+objeto.atributo1+">"+objeto.atributo2+"</option>");//retornar un option para un select html
  4.         }

al retornar objetos html los eventos js debes ponerlos en $.post al recibirlos de otra manera no podras obtener los eventos con js.

iguamente si quieres recibir un JSON o un string y quieres crear dinamicamente un objeto directamente con js puedes hacerlo.

te dejo un ejemplo de el parser Json de java, es bastante facil de usar.

https://docs.oracle.com/javaee/7/api...erFactory.html

Etiquetas: jsp, paso, 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 09:17.