Hi all,

as a follow-up to my question, wanted to thank Dan Tran for his help
and also Rick Reumann for his.

I was trying to add a PlugIn in the struts-config.xml file to augment
the functionality of the BeanUtils.copyProperties function to handle
java.util.Date going from a form to a model bean.

If this was obvious to others, please excuse the post, but it sure
wasn't obvious to me. I ended up reviewing the sources for the
validator and tiles plugins to get this to work.

Here's a snippet from my struts-config.xml file; in addition to loading
the custom converters, I wanted to be able to supply a value to be
used by the SimpleDateFormat, hence my "dateFormat" property below.

<!-- A PlugIn to extend BeanUtils.copyProperties to handle java.sql.Date -->
<plug-in className="torch.beans.ConvertUtils.ConverterPlugIn">
<set-property property="dateFormat" value="yyyy-MM-dd"/>
</plug-in>


And here's (below) the init() method I ended up with as a part of implementing
the PlugIn interface. The basics came from Dan, and finding the
proper PlugIn to retrieve my "dateFormat" property was gleaned
from the sources.


Well, it works, but as to whether there is a cleaner/shorter way to
do this, I don't know, but would be glad to hear it.

regards,

-jeff

public final class ConverterPlugIn implements org.apache.struts.action.PlugIn {
/**
* init - implements the PlugIn interface
*/
public void init(ActionServlet servlet, ModuleConfig config)
throws ServletException {


PlugInConfig[] plugs = config.findPlugInConfigs();
boolean found = false;
int i = 0;
while (i < plugs.length && !found) {
if (this.getClass().getName().equals(plugs[i].getClassName()))
found = true;
else
i++;
}
if (found) {
Object fmt = plugs[i].getProperties().get("dateFormat");
if (fmt != null)
setDateFormat(fmt.toString());
}


        ConvertUtils.register(new DateConverter(),    Date.class);
        ConvertUtils.register(new StringConverter(),  String.class);
    }

   public static void setDateFormat(String fmt) {
        fmt_ = fmt;
   }

I had a default format, in case there wasn't one in the config file,
and in the DateConverter, I retrieved the date format...

On Thursday, March 27, 2003, at 08:40 PM, Jeff Kyser wrote:

Hi,

I want to use BeanUtils.copyProperties to copy FROM my model TO my form,
and I have java.sql.Dates in my model.


From numerous related posts, I glean that the best place for a
a custom Converter to be registered is in a PlugIn in your struts-config.xml file.


1. Does anyone have an example of this they could offer up? i think I've
broken google...


2. Do you really have to do this to get a java.sql.Date from a model bean onto
a form as a String using BeanUtils? or is there a better way?


thanks,

-jeff




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



Reply via email to