Ver Mensaje Individual
  #17 (permalink)  
Antiguo 09/09/2010, 16:32
Avatar de Xerelo
Xerelo
 
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 9 meses
Puntos: 306
Respuesta: J2ee+Struts 2

Hombre, sigue la máxima, si funciona no lo toques.

De todas formas, lo único que tendrías que hacer sería copiar lo que aparece en el ejemplo de RoseIndian, en su propio método. Ese método lo llamas con una action con lo de method que te expliqué. Simplemente tienes que tener cuidado y pensar que el validate() y el execute() se van a ejecutar también, así que si hay algo en ello que pudiera afectar a tu método, busca la manera de puentearlo con algún if.

Cita:
Por otro lado, lo que me indicaste arriba de cargar el formulario cuando al darle a continuar hace la comprobacion de campos vacíos y carga la misma página no me funciona.
Igual no entiendo bien lo que quiers hacer. No debes usar la action sólo para validar, lo lógico es que valides antes de insertar los datos, pero en la misma action (recuerda que pasa a narices por el validate). En caso de error (si añades algún addActionError o similar en el validate) por defecto no ejecuta ni el execute ni el method que le hayas indicado a la action, volviendo a la JSP que la lanzó.

Yo haría el siguiente flujo

Cargar la JSP con los dos formularios

El usuario elige uno u otro, no puedes enviar a la vez los datos de dos formularios.

Rellena los datos y le da a enviar, donde tienes indicada una action con su method, pasa por el validate y comprueba que los campos son válidos, y sigue la ruta de execute y tu method, donde se supone que insertará los datos. Todo correcto o error, te devuelve a la JSP.

Si añades esta etiqueta en el JSP,puedes avisar de error en la validación

<s:if test="hasErrors()"><script>alert('Error en validacion');</script></s:if>

y con

<s:if test="hasMessage()"><script>alert('Insertado correctamente');</script></s:if>

y en tu method usando un addMessage(mensaje) puedes confirmar que todo ha ido birn.

Hay otras etiquetas para mostrar exactamente el mensaje que le pasas desde java, tanto para el error como para lo correcto.

Una vez hecho esto, el usuario rellena el segundo formulario, y sigue el mismo proceso, pero con otro method, y teniendo en cuenta que a su paso por validate no debe validar los mismos campos.