Problema no uso do BeanUtils.copyProperties()

4 respostas
bonfarj

Duas coisas que tenho lido como boas práticas no uso de Struts:

1 - todos os atributos do ActionForm (incluindo ValidatorForm etc) devem ser do tipo String
2 - utilizar BeanUtils.copyProperties() para preencher o objeto de negócios (da camada de Modelo) com os atributos do Form.

O problema é que utilizamos nas classes de negócio atributos GregorianCalendar para datas e nos ActionForm’s utilizamos atributos String. Sendo assim, o BeanUtils.copyProperties() dá pau pois tenta passar um atributo String para um GregorianCalendar.

Resolvemos essa questão lá na empresa com uma gambiarra, não ficou muito bom… como o pessoal costuma resolver isso?

abração!

4 Respostas

passos

Ao inves de utilizar o ActionForm utiliza o DynaActionForm onde vc pode declar o tipo de dados real ( igual ao do seu modelo de negocio )

bonfarj

Mas isso não vai dar problema não? No formulário HTML a data será um campo input=“text” (tag html:text), quando o Struts fizer o setData(), ele tentará passar um GregorianCalendar mas virá uma String… é isso mesmo?

passos

Eu nao uso nada derivado de calendar nas minhas entidades sempre utilizo Date e com ele nao tive problema porem eu utilizo o JSTL pra aplicar a formatação que eu quero. Da uma olhada na documentacao do Struts que se eu nao me engano tem alguma coisa la falando sobre isso. Qualquer coisa posta ae!

bonfarj

hummm… boa amigo! vou ver essa parada amanha e deixo o resultado aqui amanha!

abraco e muito obrigado!

Criado 19 de julho de 2006
Ultima resposta 20 de jul. de 2006
Respostas 4
Participantes 2