--- Jim Barrows <[EMAIL PROTECTED]> escreveu: 
> 
> 
> > -----Original Message-----
> > From: Leandro Melo
> [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, September 08, 2004 4:28 PM
> > To: Struts Users Mailing List
> > Subject: Re: ActionForm data type X BeanUtils ->
> using Dates
> > 
> > 
> > I got one doubt in your code when used in a
> situation
> > that i mentioned (transforming data from action
> form
> > to dto).
> > When date comes from action form, they usually
> come in
> > Strings, but in your method you verify 
> > 
> > value instanceof Date...
> 
> Bi-directional conversion.  Look at what he does if
> it is a date.  This isn't just for ActionForm to
> DTO, it's for any other time you have to convert a
> string to a date using BeanUtils.


Yes Jim, "to convert a String to a Date", so if i use 

value instanceof Date

i will allways fail!!! Because value is a String, you
just said that.






> > This will never happen, as the value comes in
> String.
> > 
> > Am i saying something stupid???
> 
> Not really... just not being generic enough for the
> solution.
> 
> > 
> > I'm not saying your code is wrong, but not
> appropriate
> > for the situation in question.
> > 
> > Am i right?
> 
> Sorta :)
> 
> > 
> > 
> >  --- Bryce Fischer <[EMAIL PROTECTED]>
> > escreveu: 
> > > The custom converter is done independently of
> the
> > > action, form or DTO.
> > > 
> > > First step is to implement the interface 
> > > org.apache.commons.beanutils.Converter.
> > > 
> > > Keep in mind that the converter you are writing
> uses
> > > the appropriate 
> > > converter for the original class. So, if you
> were
> > > converting from a 
> > > String to a Date, you would create a String
> > > converter. And vice versa, 
> > > if you were converting from a Date to a String
> you
> > > would create a Date 
> > > converter. Example below
> > > 
> > > Then, to override the standard converters, you
> call:
> > > ConvertUtils.register(<Your converter class>,
> <class
> > > to use converter 
> > > on>.class);
> > > 
> > > First parameter is your new converter, and the
> > > second is the class its 
> > > used for. I call this in a static initializer of
> a
> > > utility class, you 
> > > just need to make sure its called before any
> > > validations occur, and it 
> > > only needs to be done once.
> > > 
> > > Since we are interested in customizing
> conversions
> > > from String to Date, 
> > > I override the String converter:
> > > 
> > > public class StringConverter implements
> Converter{
> > >    public Object convert(Class type, Object
> value) {
> > >       Object returnObj = null;
> > >       if (value != null) {
> > >          if (value instanceof Date){
> > >             returnObj =
> > > dateFormatter.format((Date)value);
> > >          } else if (value instanceof
> BigDecimal){
> > >             returnObj =
> > > decimalFormatter.format((BigDecimal)value);
> > >          } else {
> > >             returnObj = value.toString();
> > >          }
> > >       }
> > >      
> > >       return returnObj;
> > >    }
> > > }
> > > 
> > > I've left out some properties, their getters and
> > > setters, but I think 
> > > you get the gist of what I'm doing. Now, I
> register
> > > this converter as such:
> > > 
> > > ConvertUtils.register(new StringConverter(),
> > > String.class);
> > > 
> > > I actually have a utility class, where the
> register
> > > is done in the 
> > > static initializer. I suppose another way would
> be
> > > to use a servlet that 
> > > loads prior to Struts.. Or if your Actions have
> a
> > > base class, etc...
> > > 
> > > Maybe there's a more elegant way of doing that.
> This
> > > is what I've come 
> > > up with. If someone has a better way, post
> please,
> > > I'm always looking 
> > > for more elegant ways of accomplishing stuff
> like
> > > this.
> > > 
> > > Jason King wrote:
> > > 
> > > > Could you point us at some code that does
> this? 
> > > Do you customize in 
> > > > the action, the form or the DTO? 
> > > 
> > > 
> > >
> >
>
---------------------------------------------------------------------
> > > To unsubscribe, e-mail:
> > > [EMAIL PROTECTED]
> > > For additional commands, e-mail:
> > > [EMAIL PROTECTED]
> > > 
> > >  
> > 
> > 
> >     
> >     
> >             
> >
>
_______________________________________________________
> > Yahoo! Acesso Grátis - navegue de graça com
> conexão de qualidade! 
> > http://br.acesso.yahoo.com/
> > 
> >
>
---------------------------------------------------------------------
> > 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]
> 
>  


        
        
                
_______________________________________________________
Yahoo! Acesso Grátis - navegue de graça com conexão de qualidade! 
http://br.acesso.yahoo.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to