【发布时间】:2009-12-10 12:05:37
【问题描述】:
我有一个 dataBind,它有几个属性以及一个 bean 列表,并且 bean 的属性之一是 Date 类型。现在我想将 customDateEditor 添加到此日期字段。
我的数据绑定是这样的:
public class myDataBind{
/*
some attributes here
*/
List myList = new ArrayList(); // List of myBean
/*
accessor and mutators here
*/
}
public class myBean{
/*
some attributes here
*/
private Date fromDate = null;
private Date toDate = null;
/*
accessor and mutators here
*/
}
在我的控制器中我有
protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) throws Exception {
super.initBinder(request, binder);
binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"){{ setLenient(false);}},false)); // Date.class is java.sql.Date.class
}
但我仍然收到错误消息 字段 'myList[0].fromDate' 上的对象 'command' 中的字段错误:拒绝值 [2009-05-27];代码 [typeMismatch.command.myList[0].fromDate,typeMismatch.command.myList.fromDate,typeMismatch.myList[0].fromDate,typeMismatch.myList.fromDate,typeMismatch.fromDate,typeMismatch.java.sql.Date,typeMismatch] ;参数 [org.springframework.context.support.DefaultMessageSourceResolvable: 代码 [command.myList[0].fromDate,myList[0].fromDate];论据 [];默认消息 [myList[0].fromDate]];默认消息 [无法将 [java.lang.String] 类型的属性值转换为属性 'myList[0].fromDate' 所需的类型 [java.sql.Date];嵌套异常是 java.lang.IllegalArgumentException:无法将类型 [java.lang.String] 的值转换为属性“fromDate”所需的类型 [java.sql.Date]:找不到匹配的编辑器或转换策略]强>
请告诉我,我缺少哪一步。
【问题讨论】: