Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/08/2008, 09:08
ElCrackdel83
 
Fecha de Ingreso: julio-2008
Mensajes: 26
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Preguntas sobre struts 1.3.8

Cita:
Iniciado por Bunburyscom Ver Mensaje
Hola,

1. Para recuperar tus datos de la forma en el Action debes de hacer esto:

String nombre=

2. Cuando utilizas los tags de struts, antes de que se cargue la jsp Struts verifica primero que exista un tag "action" en el struts-config.xml que tenga como path el mismo valor que tiene el atributo "action" de tu tag "form" del jsp, me explico??

Ejemplo:
Tienes tu jsp con un "form" de la siguiente manera:
<html:form action="miAction.do">
<html:text property="nombrePersona" />
</html:form>

Y en el struts-config-xml debes de tener algo asi:
<action path="miAction" ............ />

Ya que Struts valido esto, toma todos los campos que tienes en tu jsp y los compara con tu ActionForm que tienes declarado en tu struts-config.xml y esta clase debe de tener al menos los mismos campos que tienes en tu jsp con el mismo nombre

public class Persona extends ActionForm {
private String nombrePersona; //esta esta en tu jsp como <html:text
}

En tu caso, creo que no estas utilizando ActionForm sino DynaActionForm (no te recomiendo que utlizes eso, hasta la documentacion lo dice) pero si decides usarlo en tu struts-config.xml debes de tener algo asi:
<form-bean name="formaDinamica" type="org.apache.struts.action.DynaActionForm">
<form-property name="nombrePersona" type="java.lang.String"/>
//aqui agregas todos los campos que vayas a mandar desde el jsp al Action
</form-bean>

Y en tu clase Action lo cacharias asi:

DynaActionForm misDatos=(DynaActionForm)form;
String nombre=String.valueOf(misDatos.get("nombrePersona" ));

Espero te haya ayudado, cualquier cosa aqui estamos.

saludos!

muchísimas gracias! claro que me has ayudado un montón. Por cierto, porqué no es aconsejable usar DynaValidatorForm?

En caso de usar el DynaValidartorForm, en teoría lo de las property de los html:text funciona igual no?

Muchas gracias!

Saludos