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

Problemilla con Struts

Estas en el tema de Problemilla con Struts en el foro de Java en Foros del Web. Hola! Soy bastante nueva en esto de Struts, y se me ha planteado el siguiente problema: yo tengo un formulario, el tipico de registro, en ...
  #1 (permalink)  
Antiguo 27/03/2008, 12:05
 
Fecha de Ingreso: marzo-2008
Mensajes: 42
Antigüedad: 16 años, 1 mes
Puntos: 0
Problemilla con Struts

Hola!

Soy bastante nueva en esto de Struts, y se me ha planteado el siguiente problema: yo tengo un formulario, el tipico de registro, en el que tienes que introducir login, contraseña y datos personales. Bien, tengo un boton, el cual a traves de submit hace que se inserte al nuevo usuario en la base de datos. Hasta ahi todo bien. El problema es que quiero añadir un boton, para ver la disponibilidad del login. Es decir, tu escribes tu login, le das a ver disponibilidad, se hace una consulta a la base de datos y aparece un mensaje diciendo si tu login esta libre o ia pertenece a otro usuario. Bueno, pues el tema esta en que no se como hacerlo. He intentado hacer un formulario dentro del anterior, y utilizar submit con ese boton, pero no funciona. Tambien pense usar el evento onclick y un javascript, pero no tengo ni idea de como ( al menos usando struts). Seguro que es una tonteria, pero ya os digo que soy bastante nueva :S.

Epero que puedan orientarme y gracias!!
  #2 (permalink)  
Antiguo 28/03/2008, 05:29
 
Fecha de Ingreso: marzo-2008
Mensajes: 20
Antigüedad: 16 años, 1 mes
Puntos: 2
Re: Problemilla con Struts

Lo que se suele hacer en esos casos es cambiar la clase de la que extiende tu Action, generalmente Action, por LookupDispatchAction que te permite ejecutar uno u otro método dependiendo del botón que se haya pulsado en un formulario, pudiendo tener "n" botones.

los botones los debes declarar en un mapa como el de abajo asociándolos con el nombre del método que quieras que se ejecute.

A modo de ejemplo:

public class tu Action extends LookupDispatchAction
{
protected Map getKeyMethodMap() {
Map map = new HashMap();
map.put("textoBoton1", "metodoBoton1");
map.put("textoBoton2", "metodoBoton2");
map.put("textoBoton3", "metodoBoton3");
....
map.put("textoBotonN", "metodoBotonN");
return map;
}

public ActionForward metodoBoton1(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response){

........ // aquí metes el código del método

return mapping.findForward("ok"); // y al forward que tengas definido
}


//y el resto de métodos declarados arriba

}


En la JSP no hace falta que utilices más que un formulario, y todos los botones que quieras dentro de él.


Bueno, es mi primera contribución y espero que no sea la última, un saludo a todos!
  #3 (permalink)  
Antiguo 28/03/2008, 14:26
 
Fecha de Ingreso: marzo-2008
Mensajes: 42
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Problemilla con Struts

Hola!
Muchas gracias por tu ayuda, pero de momento no me funciona, creo que porque algunas cosas de tu explicacion no las he entendido bien y me las he inventado un poco xD. Primero, donde pones: "textoBoton1", te refieres al name que le he asociado al botón en el formulario, o a que?. El boton que comprueba la disponibilidad tambien lo he declarado de tipo submit, de modo que ejecuta la action asociada al formulario, la cual la he declarado como me decias. El problema es que el metodo que he asociado al boton no lo ejecuta, sino que el que ejecuta es el execute, el cual lo he asociado a otro boton distinto.

Una ultima ayudita please! :D
Y gracias otra vez.
  #4 (permalink)  
Antiguo 28/03/2008, 14:58
 
Fecha de Ingreso: marzo-2008
Mensajes: 42
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Problemilla con Struts

Eyy!! Ya investigando un poco ia entendi a que te referias con textoBoton1 :).Y me va perfecto!!
Muchas gracias :D.
  #5 (permalink)  
Antiguo 30/03/2008, 04:44
 
Fecha de Ingreso: marzo-2008
Mensajes: 20
Antigüedad: 16 años, 1 mes
Puntos: 2
Re: Problemilla con Struts

Me alegro haber podido ayudar
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

SíEste tema le ha gustado a 3 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 07:39.