package com.xrh.common.utils;
import java.beans.PropertyEditorSupport;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.lang.StringUtils;
public class MyDatePropertyEditor extends PropertyEditorSupport {
@Override
public void setAsText(String text) throws IllegalArgumentException {
String pattern;
Date date = null;
if (!StringUtils.isBlank(text)) {
DateFormat df;
if (text.length() <= 10) {
pattern = "yyyy-MM-dd";
df = new SimpleDateFormat(pattern);
} else {
pattern = "yyyy-MM-dd HH:mm:ss";
df = new SimpleDateFormat(pattern);
}
try {
date = df.parse(text);
} catch (ParseException e) {
throw new IllegalArgumentException(String.format(
"类型转换失败,需要格式%s,但格式是[%s]", pattern, text));
}
}
setValue(date);
}
}
----------------------------------------------------------------------------
package com.xrh.common.controller;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.ServletRequestDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
import com.xrh.common.utils.MyDatePropertyEditor;
public class MySpringController extends MultiActionController{
@InitBinder
protected void initBinder(HttpServletRequest request,
ServletRequestDataBinder binder) throws Exception {
binder.registerCustomEditor(Date.class, new MyDatePropertyEditor());
}
}