--- 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]