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

Reply via email to