ValueObjectInForm | 
            
 | 
          
         
            | Your trail:  | 
          
       
      
 
      
      
         
      
          Difference between 
          version 2 
          and 
          version 1:
           
          
| At line 4 added 19 lines. |  
 |  
| When I first started developing with Struts (pre 1.0), I'd just have a |  
| simple form with a DTO (VO back then) as a getter/setter on my form.  In the |  
| last year, I've changed to have a DTO and a Form, where the DTO has the true |  
| data types (Long, Date, etc) and the form has only Strings.  After doing it |  
| both ways, it seems like the DTO as a getter/setter is really the better way |  
| to go.  I'm not trying to say it's the *right* way according to the design |  
| patterns, I'm just offering my $.02 from experience. I continue to do it the |  
| BeanUtils.copyProperties() way, but the projects I work on that do it the |  
| other way seem cleaner. |  
 |  
| For an example of a DTO -> BeanUtils.copyProperties() -> Form, check out the |  
| following links: |  
 |  
| DTO -> User.java (source: [http://tinyurl.com/emo7]) |  
 |  
| Conversion -> UserManagerImpl.java (source: [http://tinyurl.com/emof] - see convert() method).  This extends BaseManager ([http://tinyurl.com/emok]), which registers custom converters.  No DateConverter in this example, but I've done it at my day job, so I know it's fairly easy. |  
 |  
| Form -> UserForm.java (generated via XDoclet from User.java) |  
 
           
      
      
      
      Back to ValueObjectInForm,
       or to the Page History.
        
      
      
      
      
      
      
      
      
          
     |