
10/09/2010, 13:49
|
| | Fecha de Ingreso: septiembre-2010
Mensajes: 10
Antigüedad: 14 años, 5 meses Puntos: 0 | |
Respuesta: J2ee+Struts 2 Cita:
Iniciado por Xerelo 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.
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. Problema del formulario que se oculta solucionado.
Sigo tus consejos, buenos aportes para mi.
Muchas gracias y perdona el retraso en la contestacion. Estoy super liado
Un saludo |