让struts能处理日期类型

struts使用日期,将string自动转化为日期放到到form中
在页面上输入日期类型的字符串,在action中直接拿到日期类型的数据

添加类
import java.util.*;
import org.apache.commons.beanutils.*;
import java.text.SimpleDateFormat;

public class DateConvert implements Converter
{
  static SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd");
  public DateConvert()
  {

  }
  public Object convert(Class type, Object value)
  {
    
    if(value==null)return null;
    if(((String)value).trim().length()==0) return null;

    if(value instanceof String)
    {
      try
      {
        return df.parse((String)value);
      }
      catch (Exception ex)
      {
        throw new ConversionException("输入的日期类型不合乎yyyy/MM/dd"
          + value.getClass());
      }

    }
    else
    {
      throw new ConversionException("输入的不是字符类型"+value.getClass());
    }

  }
}

然后在BaseAction里(继承DispatchActionSupport)的onInit()方法里加入这句
或在其他初始化的地方加入.
 ConvertUtils.register(new DateConvert(),java.util.Date.class);


参数用于表示DateConvert类负责处理java.util.Date类型的转化

你可能感兴趣的:(java,apache,struts)