spring 日期转换

public class DateEditor extends PropertyEditorSupport {  
      
    private static final DateFormat TIMEFORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
  
    private DateFormat dateFormat;  
    private boolean allowEmpty = true;  
  
    public DateEditor() {  
    }  
  
    public DateEditor(DateFormat dateFormat) {  
        this.dateFormat = dateFormat;  
    }  
  
    public DateEditor(DateFormat dateFormat, boolean allowEmpty) {  
        this.dateFormat = dateFormat;  
        this.allowEmpty = allowEmpty;  
    }  
  
    /** 
     * Parse the Date from the given text, using the specified DateFormat. 
     */  
    @Override  
    public void setAsText(String text) throws IllegalArgumentException {  
        if (this.allowEmpty && !StringUtils.hasText(text)) {  
            // Treat empty String as null value.  
            setValue(null);  
        } else {  
            try {  
                if(this.dateFormat != null)  
                    setValue(this.dateFormat.parse(text));  
                else {                       
                    setValue(TIMEFORMAT.parse(text));                     
                }  
            } catch (ParseException ex) {  
                throw new IllegalArgumentException("Could not parse date: " + ex.getMessage(), ex);  
            }  
        }  
    }  
  
    /** 
     * Format the Date as String, using the specified DateFormat. 
     */  
    @Override  
    public String getAsText() {  
        Date value = (Date) getValue();  
        DateFormat dateFormat = this.dateFormat;  
        if(dateFormat == null)  
            dateFormat = TIMEFORMAT;  
        return (value != null ? dateFormat.format(value) : "");  
    }  

 

 

@InitBinder  
protected void initBinder(HttpServletRequest request,  
                             ServletRequestDataBinder binder) throws Exception {  
   //对于需要转换为Date类型的属性,使用DateEditor进行处理  
   binder.registerCustomEditor(Date.class, new DateEditor());  
}

 

 

 

 

 

posted @ 2014-03-25 08:45  roscee  阅读(235)  评论(0编辑  收藏  举报