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

Formulario en JSP y manejo en servlet

Estas en el tema de Formulario en JSP y manejo en servlet en el foro de Java en Foros del Web. Buenas tardes Tengo una duda que me gustaria que me ayudaran a resolver... Tengo un formulario en jsp y paso los datos a un servlet ...
  #1 (permalink)  
Antiguo 11/09/2014, 13:32
 
Fecha de Ingreso: septiembre-2011
Ubicación: Caracas
Mensajes: 240
Antigüedad: 12 años, 7 meses
Puntos: 9
Formulario en JSP y manejo en servlet

Buenas tardes

Tengo una duda que me gustaria que me ayudaran a resolver... Tengo un formulario en jsp y paso los datos a un servlet que se encarga de manejarlos; al momento de pisar el boton enviar se dispara un confirm en javascript para preguntarle al usuario si desea enviar los datos. Mi duda surge porque quiero manejar en el servlet en el momento que el usuario pulse aceptar para realizar una determinada accion, es decir, que al momento de pulsar aceptar se capture ese evento de alguna forma y se maneje del lado del servidor. Estaba pensando alguna opcion del tipo if (cuadro.confirm== true) algo cambio de estado y/o de valor, y eso puedo manejarlo del otro lado. Alguna sugerencia?

Muchas gracias por adelantado
  #2 (permalink)  
Antiguo 12/09/2014, 01:28
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Formulario en JSP y manejo en servlet

Creo que estás un poco confuso, javascript se ejecuta en el navegador, por lo tanto el servidor no se entera a menos que se lo mandes.

En el caso de un submit de un formulario, ya estás enviando información al servidor así que se enterará de que lo han pulsado. También puedes usar jQuery/Ajax para comunicarte con el servidor.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 12/09/2014, 07:44
 
Fecha de Ingreso: septiembre-2011
Ubicación: Caracas
Mensajes: 240
Antigüedad: 12 años, 7 meses
Puntos: 9
Respuesta: Formulario en JSP y manejo en servlet

Cita:
Iniciado por Xerelo Ver Mensaje
Creo que estás un poco confuso, javascript se ejecuta en el navegador, por lo tanto el servidor no se entera a menos que se lo mandes.

En el caso de un submit de un formulario, ya estás enviando información al servidor así que se enterará de que lo han pulsado. También puedes usar jQuery/Ajax para comunicarte con el servidor.
No se si me habre explicado bien... Vamos a intentar nuevamente:

Tengo un formulario en jsp, el cual al momento de darle al boton enviar, muestra un cuadro confirm, para asegurarse de que el usuario no envie la informacion si no esta seguro. En el servlet, manejo la informacion del formulario, eso no es el problema... Lo que quiero hacer es que cuando el usuario pulse el boton aceptar del cuadro confirm, haga acciones adicionales. En el archivo jsp, debo tener algo como bandera que cambie de valor, cuando el usuario pulse aceptar, y dicha bandera la manipularia en el servlet; el campo que me servira de flag puede estar en javascript o java (el archivo jsp puede manejar instrucciones java incrustadas), mientras el servlet puede manejarlo

Muchas gracias
  #4 (permalink)  
Antiguo 12/09/2014, 10:02
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Formulario en JSP y manejo en servlet

Hola:

Aunque el jsp lleve java incrustado, ese java se ejecuta en el servidor. El resultado de ejecutar ese java en el jsp es un html sin código java que se envía la navegador. Lo que quieres hacer sólo puedes hacerlo con javascript, puesto que quieres hacerlo en el navegador, una vez que el jsp se ha ejecutado, generado la página html y enviado al nevagador y este la ha mostrado.

busca validación de formularios en javascript en google. Hay muchos tutoriales que explican como validar los datos introducidos en un formurlario con javascript antes de enviarlos al servidor, y haciendo que no se envíen si hay algo incorrecto. Tu caso es el mismo, solo que la "validación del formulario" consiste en mostrar una ventana de confirmación.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #5 (permalink)  
Antiguo 12/09/2014, 12:12
 
Fecha de Ingreso: septiembre-2011
Ubicación: Caracas
Mensajes: 240
Antigüedad: 12 años, 7 meses
Puntos: 9
Respuesta: Formulario en JSP y manejo en servlet

Cita:
Iniciado por chuidiang Ver Mensaje
Hola:

Aunque el jsp lleve java incrustado, ese java se ejecuta en el servidor. El resultado de ejecutar ese java en el jsp es un html sin código java que se envía la navegador. Lo que quieres hacer sólo puedes hacerlo con javascript, puesto que quieres hacerlo en el navegador, una vez que el jsp se ha ejecutado, generado la página html y enviado al nevagador y este la ha mostrado.

busca validación de formularios en javascript en google. Hay muchos tutoriales que explican como validar los datos introducidos en un formurlario con javascript antes de enviarlos al servidor, y haciendo que no se envíen si hay algo incorrecto. Tu caso es el mismo, solo que la "validación del formulario" consiste en mostrar una ventana de confirmación.

Se bueno.
Gracias por tu respuesta chuidiang. Ya estoy mirando tutoriales en internet como sugeriste. Para aclarar mas la idea, y mientras voy buscando, voy a poner una idea general de lo que quiero hacer:

i
Código Javascript:
Ver original
  1. f(confirm("¿Está seguro que desea enviar la información ?")==true){
  2.                 document.getElementById("EIBSBTN").style.visibility='hidden';
  3.                                 //alguna condicion o variable que me sirva de bandera
  4.                 return true;
  5.             }else{
  6.                 alert("Ha cancelado en envio de la información !!");
  7.                 document.getElementById("EIBSBTN");
  8.                                 //alguna condicion o variable que me sirva de bandera
  9.                 return false;

Eso seria en el jsp (ese confirm se activaria despues de pulsar el boton de envio), mientras que en el servlet, pienso hacer algo parecido a esto

Código Java:
Ver original
  1. if (alguna_condicion_o_variable == algo)
  2. {
  3. //en mi caso seria borrar unos registros de la base de datos
  4. }else
  5. {
  6. //creo que no haria nada si es falso, ya que no borraria nada, por lo que else seria prescindible
  7. }
  #6 (permalink)  
Antiguo 12/09/2014, 12:45
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Formulario en JSP y manejo en servlet

Buenas,

Puedes tener en el formulario que envias un campo hidden. Dicho campo lo puedes informar con el valor que quieras al hacer el confirm y después desde la JSP lo recoges.

Dentro de tu form HTML:
Código HTML:
Ver original
  1. <input type="hidden" name="bandera" id="bandera">

En tu javascript:
Código Javascript:
Ver original
  1. if(confirm("¿Está seguro que desea enviar la información ?")==true){
  2.                 document.getElementById("EIBSBTN").style.visibility='hidden';
  3.                 document.getElementById("bandera").value = 'TITI';
  4.                 return true;
  5.             }else{
  6.                 alert("Ha cancelado en envio de la información !!");
  7.                 document.getElementById("EIBSBTN");
  8.                 document.getElementById("bandera").value = 'TOTO';
  9.                 return false;
  10. }

En Java
Código Java:
Ver original
  1. String bandera = request.getParameter("bandera");
  2. if ("TITI".equals(bandera))
  3. {
  4. //en mi caso seria borrar unos registros de la base de datos
  5. }else
  6. {
  7. //creo que no haria nada si es falso, ya que no borraria nada, por lo que else seria prescindible
  8. }


Un saludo

Etiquetas: formulario, jsp, manejo, servlet, valor
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 23:13.