Problema con ActionForm

duhu
21 de Octubre del 2005
Hola, tengo una aplicacion con struts y me da problemas a la hora de pasar el contenido de un formulario a un ActionForm.
Si el contenido lo quiero pasar a una clase propia Fecha, me da un javax.servlet.ServletException: BeanUtils.populate causado por un java.lang.IllegalArgumentException: argument type mismatch fuera de mis clases. Si le digo que es un objeto de tipo Date, si lo admite, pero luego no actualiza su valor cuando hago pulso el botón de submit

Si alguien tiene la más remota idea de por que pasa esto y además me lo cuenta le estaré eternamente agradecido

Chema
21 de Octubre del 2005
A ver cómo te lo explico. Cuando haces un submit, lo que se enviar desde el cliente al servidor es una ristra de cadenas, que posteriormente el servidor ha de interpretar y convertirlo a los tipos que tienes asignados en en ActionForm. Por ejemplo, si tienes un tipo java.sqlDate, el BeanUtils llama a un conversor de Strings -> sqlDate (org.apache.commos.beanutils.converters.SqlDateConverter), y hace un set sobre tu objeto del actionform. Para que el conversor sea capaz de convertir tu String a Date, este String debe de tener un formato específico: En este caso, el converter llama el método Date.valueOf(String), el String debe de tener el siguiente formato: yyyy-mm-dd.

En caso de que quieras que la fecha se guarde en tu propia clase, deberás de implementar un conversor adecuado y registrarlo, pero eso va a ser mucho más complicado, :(