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

Vuelta desde Validator de ActionForm

Estas en el tema de Vuelta desde Validator de ActionForm en el foro de Java en Foros del Web. Buenas tarde, Mi problema es que tengo un action que necesita un "id" por get para funcionar correctamente, le paso el id del elemento que ...
  #1 (permalink)  
Antiguo 16/10/2008, 09:36
 
Fecha de Ingreso: noviembre-2007
Mensajes: 24
Antigüedad: 16 años, 5 meses
Puntos: 0
Vuelta desde Validator de ActionForm

Buenas tarde,

Mi problema es que tengo un action que necesita un "id" por get para funcionar correctamente, le paso el id del elemento que quiero editar por get.

Una vez que envio el formulario, se ejecuta el validator para comprobar que todos los campos estan correctos, y en el caso de que no sea correcto creo los "errors" y los devuelvo, con lo que sttuts me envia a la direccion que he marcado en el input del struts-config.

Claro pero no envia el Id con lo que el action que necesita un id no funciona.

Bueno ahora en codigo

URL llamada : http://localhost:8084/panel/editar-articulo.html?id=4

Struts-config :

<action path="/editar-articulo" type="com.proyecto.panel.action.articulos.ActionAr ticuloConfirmar" scope="session">
<forward name="ok" path="/articulos-editar.jsp" />
<forward name="error" path="/articulos.html" redirect="true" />
</action>

<action path="/articulosEdicion" type="com.proyecto.panel.action.articulos.ActionAr ticuloEditado"
name="articulos" scope="request" input="/editar-articulo.html" validate="true">
<forward name="ok" path="/articulos.html" />
</action>



Espero haberme explicado con claridad, como puedo resolver esta problematica???
  #2 (permalink)  
Antiguo 16/10/2008, 10:25
Usuario no validado
 
Fecha de Ingreso: junio-2008
Mensajes: 386
Antigüedad: 15 años, 10 meses
Puntos: 10
Respuesta: Vuelta desde Validator de ActionForm

Hola,

Antes que nada cambia todos tus html a jsp.

Obviamente al usar html no estas utilizando los tags de struts, usalos y tu problema se solucionara solo.

Si no quieres usar los tags de struts, cambia tus html por jsp despues en el metodo validate() del ActionForm puedes poner una variable en el request:

request.setAttribute("id",id);

Y en tu jsp lo recibes con:
String id=(String)request.getAttribute();

saludos!
  #3 (permalink)  
Antiguo 16/10/2008, 11:11
 
Fecha de Ingreso: noviembre-2007
Mensajes: 24
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Vuelta desde Validator de ActionForm

Hola, lo primero gracias por tu ayuda.

Si que estoy usando los tags de struts, el html lo tengo porque he cambiado .do por .html para que no parezca una aplicación java.

En realidad a lo que llamo es a un action, porque el id, lo recoge un action y recupera el registro que a continuación muestro.

El problema es que cuando pongo, el jsp de la plantilla como input, cuando vuelvo desde el validate, como precisamente utilizo tags tipo:

<html:text name="articulo" property="nombre" accesskey="n" tabindex="1" size="60" title="Nombre" />

Pues me da un error de que articulo no se ha encontrado en ningún scope, porque claro el bean articulo lo crea el action.

Y ese es el problema que normalmente llamo al action con el pasado por get, pero desde la vuelta de validate no puedo porque no se como incluir el id del articulo en la url de vuelta porque la url de vuelta es estática y esta en el struts-config.xml

Espero haberme explicado, a ver si se te ocurre como se puede hacer esto, porque entiendo que no tiene que ser algo muy raro, porque cualquier herramienta de administración que edite datos debería funcionar así, quizá el problema sea el enfoque y tendría que hacerlo de otra manera...

Gracias de antemano....
  #4 (permalink)  
Antiguo 16/10/2008, 11:17
Usuario no validado
 
Fecha de Ingreso: junio-2008
Mensajes: 386
Antigüedad: 15 años, 10 meses
Puntos: 10
Respuesta: Vuelta desde Validator de ActionForm

Supongo que esa pagina es para modificar un articulo, ya que tienes:

<html:text name="articulo" property="nombre" accesskey="n" tabindex="1" size="60" title="Nombre" />

Y le estas diciendo que del bean articulo tome el atributo nombre para que te imprima su valor en la caja de texto.

Es asi??
  #5 (permalink)  
Antiguo 16/10/2008, 11:21
 
Fecha de Ingreso: noviembre-2007
Mensajes: 24
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Vuelta desde Validator de ActionForm

Exacto, un bean artículo que cargo en el action.
  #6 (permalink)  
Antiguo 16/10/2008, 12:56
Usuario no validado
 
Fecha de Ingreso: junio-2008
Mensajes: 386
Antigüedad: 15 años, 10 meses
Puntos: 10
Respuesta: Vuelta desde Validator de ActionForm

Pues ese bean lo deberias de tener en session o en el request, y pues deberia traer el id del articulo que estas modificando.

Entonces al llegar al metodo validate() ahi viene el id.

Si tu bean lo pusiste en el request tendrias que volverlo a poner (creo) para que en la forma no te marque ningun error.
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 07:20.