Yeah! It works....
my FormBean variable type is myDate (from java.sql.Date or
java.util.Date )
and i used the code from an older posting to make it.
Okay, what to do:
Change the Date type in the code below to "myDate".
And now your date type will use your format for display...
---------------------------------------------------------
Date: Thu, 17 Oct 2002 12:22:35 -0400
From: Rick Reumann <[EMAIL PROTECTED]>
Subject: [ConvertUtils] Converter for java.util.Date
Content-Type: text/plain; charset=us-ascii
Hey Elder,
(posting this to Struts list as well in case anyone else finds it
useful while digging through the archives)
I modified the code you sent just a bit and also provided a method
taking a format String for how they want the date formatted (actually
someone might want to modify the code with a default format, but I
want to be forced to provide one). I still haven't gotten around to
actually modifying the StringConverter class to handle the other
direction (String to java.util.Date) to avoid having to register the
extra custom StringConverter class below. I'll get around to it some
time:)
To use these converters so that BeanUtils.copyProperties( ) works in
both directions I just added a static block to the top of my dispatch
Action ...
static {
DateBeanUtilsConverter dateConverter = new DateBeanUtilsConverter();
dateConverter.setFormatPattern( "MMddyyyy" );
StringBeanUtilsConverterDate myStringConverter = new
StringBeanUtilsConverterDate();
myStringConverter.setFormatPattern( "MMddyyyy" );
ConvertUtils.register( dateConverter, java.util.Date.class );
ConvertUtils.register( myStringConverter, String.class );
}
The two classes are listed below. All seems to be working fine.
/** coverts java.util.Date to String using BeanUtils ***/
import org.apache.commons.beanutils.Converter;
import java.text.*;
import java.util.*;
import corporate.*;
public class DateBeanUtilsConverter implements Converter {
private String formatPattern = null;
public void setFormatPattern(String formatPattern) {
this.formatPattern = formatPattern;
}
public Object convert(Class type, Object value) {
Date date = null;
if (value != null
&& (value instanceof String)
&& (type == Date.class)) {
try {
String s = value.toString();
SimpleDateFormat formatter =
new SimpleDateFormat(formatPattern);
date = formatter.parse(s);
} catch (Exception e) {
ErrorLogging.println("DateBeanUtilsConverter: " + e);
}
}
return date;
}
}
/** coverts String to java.util.Date using BeanUtils ***/
import org.apache.commons.beanutils.Converter;
import org.apache.commons.beanutils.converters.*;
import java.text.*;
import java.util.*;
import corporate.*;
public class StringBeanUtilsConverterDate implements Converter {
private static final StringConverter stringConverter =
new StringConverter();
private String formatPattern = null;
public void setFormatPattern(String formatPattern) {
this.formatPattern = formatPattern;
}
public Object convert(Class type, Object value) {
Object returnValue = null;
if (value != null) {
if (type == String.class && (value instanceof Date)) {
SimpleDateFormat formatter =
new SimpleDateFormat(formatPattern);
String dateString = formatter.format(value);
returnValue = dateString;
} else {
returnValue = stringConverter.convert(type, value);
}
}
return returnValue;
}
}
-------------------------------------------------
--
Dipl. Ing. (BA) Andreas Langmann
Software Developer
ISB AG
Karlstr. 52-54
76133 Karlsruhe
Telefon: +49 (0)721/82800-0
Telefax: +49 (0)721/82800-82
Email: [EMAIL PROTECTED]
Internet: http://www.isb-ag.de
--
To unsubscribe, e-mail: <mailto:struts-user-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:struts-user-help@;jakarta.apache.org>