hmmm...
make the following files...
package de.km.bw.estat.struts.utils;
import java.sql.Date;
public class DateWrapper extends java.sql.Date {
static java.text.DateFormat df = new
java.text.SimpleDateFormat("dd-MM-yyyy");
public static void setFormatStr(String formatStr) {
df = new java.text.SimpleDateFormat(formatStr);
}
public DateWrapper(long date) {
super(date);
}
public String toString() {
return df.format(this);
}
}
****************************************
/** coverts java.util.Date to String using BeanUtils ***/
package de.km.bw.estat.struts.utils;
import org.apache.commons.beanutils.Converter;
import java.text.*;
import java.util.*;
public class DateBeanUtilsConverter implements Converter {
private String formatPattern = null;
public void setFormatPattern(String formatPattern) {
this.formatPattern = formatPattern;
}
public Object convert(Class type, Object value) {
DateWrapper date = null;
if (value != null
&& (value instanceof String)
&& (type == DateWrapper.class)) {
try {
String s = value.toString();
SimpleDateFormat formatter =
new SimpleDateFormat(formatPattern);
date = new DateWrapper(formatter.parse(s).getTime());
} catch (Exception e) {
//ErrorLogging.println("DateBeanUtilsConverter: " + e);
}
}
return date;
}
}
****************************************
package de.km.bw.estat.struts.utils;
import java.text.*;
import java.util.*;
import org.apache.commons.beanutils.Converter;
import org.apache.commons.beanutils.converters.*;
public class StringBeanUtilsConverterDate implements Converter {
//~ Statische Variblen und
Initialisierer -----------------------------------
private static final StringConverter stringConverter = new
StringConverter();
//~
Instanz-Variablen -------------------------------------------------------
private String formatPattern = null;
//~
Methoden ----------------------------------------------------------------
/**
* TODO_documentieren
*
* @param formatPattern TODO_documentieren
*/
public void setFormatPattern(String formatPattern) {
this.formatPattern = formatPattern;
}
/**
* TODO_documentieren
*
* @param type TODO_documentieren
* @param value TODO_documentieren
*
* @return TODO_documentieren
*/
public Object convert(Class type, Object value) {
Object returnValue = null;
if (value != null) {
if ((type == String.class) && (value instanceof DateWrapper)) {
SimpleDateFormat formatter = new SimpleDateFormat(formatPattern);
String dateString = formatter.format(value);
returnValue = dateString;
}
else {
returnValue = stringConverter.convert(type, value);
}
}
return returnValue;
}
}
*********************
add the following static block to your BaseAction:
// for static block
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.log4j.Logger;
import org.apache.struts.action.*;
import org.apache.struts.actions.*;
import org.apache.struts.util.MessageResources;
static {
DateBeanUtilsConverter dateConverter = new DateBeanUtilsConverter();
dateConverter.setFormatPattern("dd.MM.yyyy");
StringBeanUtilsConverterDate myStringConverter = new
StringBeanUtilsConverterDate();
myStringConverter.setFormatPattern("dd.MM.yyyy");
ConvertUtils.register(dateConverter, DateWrapper.class);
ConvertUtils.register(myStringConverter, String.class);
}
******************
thats it. now you'll use DateWrapper Class in Formbeans and anything is
fine.
greetings,
Andreas
-----Urspr�ngliche Nachricht-----
Von: Slava_L [mailto:[EMAIL PROTECTED]]
Gesendet: 25.11.2002 06:12
An: Struts Users Mailing List
Betreff: java.sql.Date again!!
Well, are there any changes about java.sql.Date-in-Struts problem?
What is the best appropriate way to solve the representation poblem (i.e.
when Date converts in non-localezed string like YYYY-MM-DD)
?
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>