J2ee

Buenas tardes:
Tengo un problemilla que esta causando más de un dolor de cabeza...
Trabajo en desarrollos J2EE, basado en struts. Utilizo websphere.
Mi problema es el siguiente:
Tengo una parte de la aplicación que es al toma de datos que la tengo
dividida en dos formularios (formulario1.jsp y formulario2.jsp).
Tengo por tanto definidos dos Action Form (Datos1Form y Datos2Form)
Tengo problemas con el action del struts-config intermedio a las dos
páginas jsp (quizás porque tenga alguna idea errorea sobre el struts-config)
Resulta que ese action intermedio, le llega tras pulsar al submit de la
primera página jsp, va a un servlet donde debe proceder a realizar
una inserción de los datos de la anterior jsp, y el forward de ese action
llama a otra página jsp donde se hace algo parecido, se rellenan los datos
y se insertan...
¿Qué formulario habría que poner en el parámetro name del struts-config?
<action path="/altaDatos1"
scope="session"
name="Datos1Form"
type="..."
<forward name="success" path="formulario2.jsp" redirect="true" />
<forward name="error" path="..." />
</action>
Yo pensaba que cuando en este action le indicas el formulario que va a
utilizar, es para el parámetro type, donde va a un servlet donde haría la
inserción de los datos utilizando ese formulario claro.
Y así los hice en un principio pero al retornar a la página formulario2.jsp
me decía que no se encontraba el bean Datos2Form (o algo así)
Y claro si cambiaba el parámetro name a "Datos2Form" ya me iba a la siguiente
página pero sin poder insertar los datos anteriormente de la jsp anterior.
No se si me he explicado bien. ¿Qué es lo que estoy haciendo mal?
Muchas gracias.
Un saludo.

1 respuesta

Respuesta
1
Perdona por haber tardado tanto en responder a tu pregunta (no la había leído hasta el momento). Supongo que alguien ya te habrá echado una mano y resuelto tu duda. Por si no es así intentaré explicarte.
En primer lugar debes tener una cosa en cuenta: el formulario vinculado a cada JSP es el que esta mapeado con el action que hemos definido como submit (atributo action del tag html:form). Supongo que en formulario2.jsp, en el atributo "action" del tag "html:form" has mapeado hacia "altaDatos2.do". "/altaDatos2" debería estar definido en el struts_config.xml y vinculado con el formulario Datos2Form (que también debe estar definido). Si no has completado todos estos mapeos la JSP formulario2.jsp no puede encontrar Datos2Form.
Perdona por haber tardado tanto en responder a tu pregunta (no la había leído hasta el momento). Supongo que alguien ya te habrá echado una mano y resuelto tu duda. Por si no es así intentaré explicarte.
En primer lugar debes tener una cosa en cuenta: el formulario vinculado a cada JSP es el que esta mapeado con el action que hemos definido como submit (atributo action del tag html:form). Supongo que en formulario2.jsp, en el atributo "action" del tag "html:form" has mapeado hacia "altaDatos2.do". "/altaDatos2" debería estar definido en el struts_config.xml y vinculado con el formulario Datos2Form (que también debe estar definido). Si no has completado todos estos mapeos la JSP formulario2.jsp no puede encontrar Datos2Form.
Creo que estas teniendo un pequeño problema de concepto en cuanto al flujo que debes seguir. De manera general, La idea es la siguiente: cada pantalla necesitará un action de preproceso de datos, una JSP (la vista) y un action de postproceso de datos. Los tres elementos deben trabajar con el mismo formulario. Evidentetemente esto no tiene que ser siempre así (por ejemplo, si el alcance de un formulario es de sesión se puede utilizar un único action para el postproceso de datos de la pantalla1 y para el preproceso de la pantalla2, puesto que el Form es el mismo).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas