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

Varios Botones En Un Form

Estas en el tema de Varios Botones En Un Form en el foro de Java en Foros del Web. Hola De Nuevo. Una Pequeña Consulta. Tengo Un Codigo HTML Con Un Form Que Tiene Como Accion Ir A Un Servlet. Este Form Tiene Varios ...
  #1 (permalink)  
Antiguo 12/09/2010, 17:08
Avatar de LordJhony  
Fecha de Ingreso: septiembre-2010
Mensajes: 472
Antigüedad: 13 años, 8 meses
Puntos: 24
Varios Botones En Un Form

Hola De Nuevo. Una Pequeña Consulta. Tengo Un Codigo HTML Con Un Form Que Tiene Como Accion Ir A Un Servlet.
Este Form Tiene Varios Botones Para Realizar Distintas Actividades Dentro Del Servlet Principalmente Trabajar Con
La Base De Datos. Explico Los Botones Son Insertar,Eliminar Y Modificar.
Mi Pregunta Es ¿Puedo Dentro De Un Mismo Servlet Hacer Las 3 Operaciones?, Y Si Es ¿Asi Como Hago Para Identificar
Cada Una?, Es Mas ¿Como Hago Para Identificar Dentro Del servlet Los 3 Botones Con Sus Respectivas Operaciones?.
¿Tengo Que Hacer Algo En El HTML? ¿O Tengo Que Crear Forms Y Servlets Adicionales?

El Codigo
Código HTML:
Ver original
  1. <form action="nombre_servlet" method="post">
  2. <input type='submit' name="B1" value='Insertar' />
  3. <input type='submit' name="B2" value='Eliminar' />
  4. <input type='submit' name="B3" value='Modificar' />
  5. </form>

Última edición por LordJhony; 12/09/2010 a las 17:13
  #2 (permalink)  
Antiguo 12/09/2010, 17:21
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Varios Botones En Un Form

Hola,

Los botones son un componente más del form. Así como cuando usas un input de tipo text y este llega como un parámetro, así el botón va a llegar como un parámetro más. Normalmente los botones inactivos no son enviados por el navegador.

Saludos,
  #3 (permalink)  
Antiguo 13/09/2010, 05:08
Avatar de LordJhony  
Fecha de Ingreso: septiembre-2010
Mensajes: 472
Antigüedad: 13 años, 8 meses
Puntos: 24
Respuesta: Varios Botones En Un Form

Entonces ¿Me Toca Crear Un Form Por Cada Boton?, O Hay Un Metodo Para Enviar Alguna Variable Al Servlet Con Tan Solo Presionar El Boton?
  #4 (permalink)  
Antiguo 13/09/2010, 05:29
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Varios Botones En Un Form

Hola,

Al hacer el submit llega un parámetro de nombre B1 con el valor 'Insertar' si ese fue el botón presionado, uno de nombre B2 con el valor 'Eliminar' si ese fue el caso, etc.

getParameter("B1");
// Insertar

Saludos,
  #5 (permalink)  
Antiguo 13/09/2010, 05:37
Avatar de LordJhony  
Fecha de Ingreso: septiembre-2010
Mensajes: 472
Antigüedad: 13 años, 8 meses
Puntos: 24
Respuesta: Varios Botones En Un Form

Gracias Por Tu Ayuda.
Otra Cosa Mas Me Puedes Dar Un Ejemplo Del Uso De
getParameter.... La Verdad Nunca He Usado Este Parametro
  #6 (permalink)  
Antiguo 13/09/2010, 05:44
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Varios Botones En Un Form

Hola,

http://www.forosdelweb.com/f45/varia...ameter-582110/
http://www.forosdelweb.com/search.ph...y=getParameter

Saludos,
  #7 (permalink)  
Antiguo 13/09/2010, 10:01
Avatar de LordJhony  
Fecha de Ingreso: septiembre-2010
Mensajes: 472
Antigüedad: 13 años, 8 meses
Puntos: 24
Respuesta: Varios Botones En Un Form

Muchas Gracias Me Sirvio Tu Ayuda.
Tengo Otra Consulta: Como Puedo Hacer Para Que Dependiendo
De Cada Boton Haga Determinada Accion.
Mira Yo Le He intentado Asi:

Código Java:
Ver original
  1. protected void doPost(HttpServletRequest req, HttpServletResponse res)
  2.     throws ServletException, IOException
  3.     {
  4.         String insertar= req.getParameter("B2");//Toma El Parametro Del Boton Insertar
  5.         System.out.println(insertar);//Para Comprobar Que insertar Tomo El Valor
  6.         String eliminar= req.getParameter("B3");//Toma El Parametro Del Boton Eliminar
  7.         String id=(req.getParameter("identificacion")).trim();
  8.         String nombre=(req.getParameter("nombreIns")).trim();//Toma Los Parametros De Los Tipo Texto Del HTML
  9.         System.out.println(id+nombre);//Comprueba Que Si Halla Traido Los Valores
  10. //Hasta Este Punto Esta Bien, El Trae Los Valores Que Necesito.
  11. try{
  12.             pag.println("entra al try");
  13.         if (insertar.equals("Agregar"))
  14.         {
  15.             pag.println("Boton Agregar");
  16.         }
  17.         if (eliminar.equals("B3"));
  18.         {
  19.             pag.println("Boton Eliminar");
  20.         }}
  21.         catch(Exception b)
  22.         {
  23.             pag.println("Error Botones "+b);
  24.         }//Aca Es Donde Me Presenta El Problema. En Vez De Irse Por El If Se Salta Al catch, Mostrandome Ese Error

Mi Pregunta Es ¿Los Condicionales Estan Bien Formulados?, Si Es Asi Cual Puede Ser El Error, Si No Estan Bien Formulados, Como Se Deben Formular.

Una Vez Mas Gracias Por La Ayuda

Última edición por LordJhony; 13/09/2010 a las 10:07
  #8 (permalink)  
Antiguo 13/09/2010, 14:54
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Varios Botones En Un Form

Hola,

Como mencioné anteriormente existe la posibilidad que el navegador no mande el contenido de los botones que no fueron presionados. Es decir, si presionas el botón B1, entonces el botón B2 no llega al Servlet, y si intentas usarlo generar un NullPointerException (o algo así).

Prueba a usarlo de esta forma,

Código Java:
Ver original
  1. if ("Insertar".equals(req.getParameter("B1"))) {
  2.   // do Insertar
  3. } else if ("Eliminar".equals(req.getParameter("B2"))) {
  4.   // do Eliminar
  5. } else if ("Modificar".equals(req.getParameter("B3"))) {
  6.   // do Modificar
  7. } else {
  8.   // do No usó los botones
  9. }

Este método ...
Código Java:
Ver original
  1. ("Insertar".equals(req.getParameter("B1")))
... funciona porque "Insertar" es una constante y nunca va a ser null, aunque el parámetro sea null porque no lo envió el navegador devuelve False y no genera un excepción.

("Insertar".equals(null)) == { False }

Saludos,

Última edición por HackmanC; 13/09/2010 a las 15:08 Razón: aunque sea null devuelve false
  #9 (permalink)  
Antiguo 14/09/2010, 07:41
Avatar de LordJhony  
Fecha de Ingreso: septiembre-2010
Mensajes: 472
Antigüedad: 13 años, 8 meses
Puntos: 24
Respuesta: Varios Botones En Un Form

Muchas Gracias Por Tu Ayuda Me sirvio Mucho....

Etiquetas: botones, formulario
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 15:12.