2015-11-08 45 views
0

在我的控制器Spring MVC的不同和CustomDateEditor粘合劑我綁定,對於大多數領域工作的主要日期自定義編輯器,但不是全部:YYYY-MM-DD:,讓各種領域

@InitBinder  
public void initBinder(WebDataBinder binder) 
{ 
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); 
    CustomDateEditor editor = new CustomDateEditor(dateFormat, true); 
    binder.registerCustomEditor(Date.class, editor); 
} 

我也有一些映射到我的域對象中的日期的GUI字段,但它們不同。有些在yyyy格式(僅限於年份)。他們需要一個定製的日期綁定。

是否可以定義綁定到特定字段的其他CustomDateEditor,而不是一個所有類型的聯編程序?

+1

使用'binder.registerCustomEditor(Date.class 「field.path」,主編);'。 [JavaDoc的](http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/validation/DataBinder.html#registerCustomEditor-java.lang.Class-java.lang.String-java。 beans.PropertyEditor-) –

+0

非常感謝! –

回答

2

另一種方法是使用Spring Formatter代替PropertyEditors。 好的是,Spring has already formatters for Date@DateTimeFormat)和下一個好東西是,它們是通過註釋爲每個屬性配置的。

例如

@DateTimeFormat(pattern="yyyy") 
    private Date yearOnly; 

    @DateTimeFormat(pattern="yyyy-MM-dd") 
    private Date dayMonthYear;