I use it for my login actions when I'm not using container managed security. My typical worse case action is:
TheForm theForm = (TheForm) form; ActionErrors errors = form.validate(); if( errors.isEmpty()) { errors = weirdValidations( form); if( errors.isEmpty()) { TheVo vo = new TheVo(); BeanUtils.copyProperties( vo, theForm); getTheBusinessObject.doSomething( vo); } else { forward = forwardToError( errors); } } else { forward = forwardToError( errors); } Now, I don't know about you, but this is much nicer, cleaner and easier to debug and maintain then having a whole bunch of validation code and copy code in the action. I'm not saying that is not nice, but I wouldn't say that it's necessarily cleaner and easier. A shared utility function written in Javascript for form validations on the client side would do, without having to create form (Dyna or not) objects each time. What about the objects when a form is posted? Does this mean that the form values will be written and in the request object and it the ActionForm object? Or, when the request is send, it gets intercepted by Struts which populates a form object? In both case, what you save with another layer of indirection, you lose in performance, don't you think? --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]