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

Conservar datos

Estas en el tema de Conservar datos en el foro de Java en Foros del Web. Perdonen que los moleste otra vez compañeros pero esque soy novato en esto de java y quiero aprender tengo otro problema Tengo una jsp donde ...
  #1 (permalink)  
Antiguo 28/04/2009, 08:43
 
Fecha de Ingreso: abril-2009
Mensajes: 78
Antigüedad: 15 años
Puntos: 0
Conservar datos

Perdonen que los moleste otra vez compañeros pero esque soy novato en esto de java y quiero aprender tengo otro problema Tengo una jsp donde doy de alta algunos datos para una tabla lo que quiero es que al dar clic en aceptar me vaya a otra jsp donde se dan de alta datos para otra tabla pero quiero que en esta segunda jsp se traiga uno de los datos de la página anterior como el numero de folio y la fecha.
No se si fui claro o si me puedan ayudar, si necesitan que ponga algo del código que tengo me dicen cual para ponerlo, lo manejo con servlets, jsp, beans, y daos donde tengo mis métodos
Cualquier ayuda se los agradeceré mucho
  #2 (permalink)  
Antiguo 28/04/2009, 17:01
 
Fecha de Ingreso: noviembre-2008
Mensajes: 115
Antigüedad: 15 años, 6 meses
Puntos: 4
Respuesta: Conservar datos

Desde el primer jsp vas directamente al segundo, o pasas por algun servlet o algo?

Si vas directo de uno a otro, podrias recuperarlo como un parametro de la request, y pasarlo en un campo oculto, por ejemplo, con un scriptlet sencillin
<input type="hidden" value="<%=request.getParameter("elParametroQueSea" )%>" .../>

Si pasas por un servlet, puedes hacer dos cosas, meterlo en la request como atributo otra vez y volver a recuperarlo en la pagina que sea

request.setAttribute("elParametroQueSea", "elValorQueSea");

o en la sesion

request.getSession().setAttribute("elParametroQueS ea", "elValorQueSea");

y luego recuperarlo en todos los servlet que lo necesiten
  #3 (permalink)  
Antiguo 29/04/2009, 08:20
 
Fecha de Ingreso: abril-2009
Mensajes: 78
Antigüedad: 15 años
Puntos: 0
Respuesta: Conservar datos

Te agradezco mucho tu ayuda para ilustrarlo un poco mas te pongo mi código, si paso por un servlet:
<form action="TransferAltaServlet" method="post" class="f-wrap-1"> <fieldset>
Folio Bancario:
<input type="text" size="5" name="Folio_banco"/>
Folio de Transferencia:
<input type="text" size="5" name="Folio_justif"/>

SERVLET
Transferencias tran = new Transferencias();
String folioban = request.getParameter("Folio_banco");
String foliojust = request.getParameter("Folio_justif");

tran.setFolio_banco(Integer.parseInt(folioban));
tran.setFolio_justif(Integer.parseInt(foliojust));
TransferenciasDAO tranDAO = new TransferenciasDAO();
tranDAO.insertar(tran);
response.sendRedirect("ConceptosAlta.jsp");

Esto se dirige a la pagina ConceptosAlta y quiero que sea en esta pagina donde se pase el valor que el usuario dio en Folio_justif la cual tiene una estructura parecida no se si con esto me pudieras ayudar un poco más pero te agradezco mucho
  #4 (permalink)  
Antiguo 29/04/2009, 09:59
 
Fecha de Ingreso: noviembre-2008
Mensajes: 115
Antigüedad: 15 años, 6 meses
Puntos: 4
Respuesta: Conservar datos

Cita:
Iniciado por jorgelo82 Ver Mensaje
<form action="TransferAltaServlet" method="post" class="f-wrap-1"> <fieldset>
Folio Bancario:
<input type="text" size="5" name="Folio_banco"/>
Folio de Transferencia:
<input type="text" size="5" name="Folio_justif"/>

SERVLET
Transferencias tran = new Transferencias();
String folioban = request.getParameter("Folio_banco");
String foliojust = request.getParameter("Folio_justif");

tran.setFolio_banco(Integer.parseInt(folioban));
tran.setFolio_justif(Integer.parseInt(foliojust));
TransferenciasDAO tranDAO = new TransferenciasDAO();
tranDAO.insertar(tran);
response.sendRedirect("ConceptosAlta.jsp");

Esto se dirige a la pagina ConceptosAlta y quiero que sea en esta pagina donde se pase el valor que el usuario dio en Folio_justif
Bueno, pues lo que podrias hacer es:


Opcion 1.- Guardar el parametro en la request

1ª JSP

Como la tienes

1º SERVLET

Añade al final la siguiente linea

request.setAttribute("Folio_justif", foliojust);

No importa que lo hagas antes o despues del response.sendRedirect(...

2ª JSP

<form action="actionQueSea" method="">
.
.
.
.
<input type="hidden" name="Folio_justif" value="<%=(String)request.getAttribute("Folio_just if")%>" />

2º SERVLET

String folioJust = request.getParameter("Folio_justif");

Y ya lo tendrias en ese segundo servlet como un String mas venido desde un formulario.

Opcion 2.- Guardarlo en la session

1ª JSP

Como la tienes

1º SERVLET

Añade al final la siguiente linea

request.getSession().setAttribute("Folio_justif", foliojust);

No importa que lo hagas antes o despues del response.sendRedirect(...

2ª JSP

No hace falta tocar nada

2º SERVLET

String folioJust = (String)request.getSession().getAttribute("Folio_j ustif");


Ojo, si lo haces de esta manera, por que te quedaria el atributo en sesion, lo cual es bueno si lo vas a volver a utilizar, pero a lo mejor luego te causa algun problema por volver a leerlo en algun sitio, sin darte cuenta de que viniste por aqui, tiene un valor que no te esperas o que se yo. Si no vas a volver a utilizarlo o si al menos no quieres que tenga ese valor guardado en sesion, yo de ti añadiria esta linea en el segundo servlet

request.getSession().removeAttribute("Folio_justif ");

y asi ya lo eliminas


Espero que te sirva.
  #5 (permalink)  
Antiguo 30/04/2009, 08:38
 
Fecha de Ingreso: abril-2009
Mensajes: 78
Antigüedad: 15 años
Puntos: 0
Respuesta: Conservar datos

Cita:
Iniciado por jesuscoro Ver Mensaje
Bueno, pues lo que podrias hacer es:


Opcion 1.- Guardar el parametro en la request

1ª JSP

Como la tienes

1º SERVLET

Añade al final la siguiente linea

request.setAttribute("Folio_justif", foliojust);

No importa que lo hagas antes o despues del response.sendRedirect(...

2ª JSP

<form action="actionQueSea" method="">
.
.
.
.
<input type="hidden" name="Folio_justif" value="<%=(String)request.getAttribute("Folio_just if")%>" />

2º SERVLET

String folioJust = request.getParameter("Folio_justif");

Y ya lo tendrias en ese segundo servlet como un String mas venido desde un formulario.

Opcion 2.- Guardarlo en la session

1ª JSP

Como la tienes

1º SERVLET

Añade al final la siguiente linea

request.getSession().setAttribute("Folio_justif", foliojust);

No importa que lo hagas antes o despues del response.sendRedirect(...

2ª JSP

No hace falta tocar nada

2º SERVLET

String folioJust = (String)request.getSession().getAttribute("Folio_j ustif");


Ojo, si lo haces de esta manera, por que te quedaria el atributo en sesion, lo cual es bueno si lo vas a volver a utilizar, pero a lo mejor luego te causa algun problema por volver a leerlo en algun sitio, sin darte cuenta de que viniste por aqui, tiene un valor que no te esperas o que se yo. Si no vas a volver a utilizarlo o si al menos no quieres que tenga ese valor guardado en sesion, yo de ti añadiria esta linea en el segundo servlet

request.getSession().removeAttribute("Folio_justif ");

y asi ya lo eliminas


Espero que te sirva.

WOW Excelente ayuda muchisimas gracias, te voy a agradecer toda mi vida porque eso me tenía rompiendome la cabeza pero con esto ya me salió, tomé la segunda opción ya que en la primera me marcaba un error, otra pregunta con esta segunda opción me dijiste que me convenía dejarla si la quería usar otra vez, de hecho en la segunda página tienen que meter varios registros usando el mismo folio_justif, ya que es una llave foranea si la dejo como está crees que me cause muchos problemas o le pongo lo que me dijiste al último, de cualquier forma te agradezco muchisimo
:apla uso:: aplauso:
  #6 (permalink)  
Antiguo 30/04/2009, 15:19
 
Fecha de Ingreso: noviembre-2008
Mensajes: 115
Antigüedad: 15 años, 6 meses
Puntos: 4
Respuesta: Conservar datos

Lo que te tienes que plantear es:

voy a usar esa variable mas alla del 2º servlet?

Si la respuesta a esa pregunta es si, dejalo en la sesion, y quitalo en el servlet (o pagina jsp) que sea la ultima que lo use.

Si la respuesta es no, quitalo en ese mismo servlet

De todas formas, no, no creo que te cause muchos problemas el que lo dejes ahi, pero no me parece recomendable andar teniendo cosas en sesion que no vas a volver a usar.

Me alegro de que te haya servido, para eso estamos
  #7 (permalink)  
Antiguo 02/05/2009, 11:53
 
Fecha de Ingreso: abril-2009
Mensajes: 78
Antigüedad: 15 años
Puntos: 0
Respuesta: Conservar datos

Gracias por todo tengo otra página en la que me va a servir esto tambien muchas gracias
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 11:10.