我正在尝试将日期插入到数据库中,而我正在使用java.sql.Date,但是当用户提交表单时我遇到的问题是Null值。根据某些限制,我只允许使用java.sql.Date而不是util.Date。
实体
tzname
控制器
time.tzname
答案 0 :(得分:0)
注册您自己的自定义编辑器。
public class SqlDateEditor extends PropertyEditorSupport {
private DateFormat dateFormat;
public SqlDateEditor (final DateFormat dateFormat)
{
this.dateFormat = dateFormat;
}
@Override
public void setAsText(String text) {
try {
setValue(new java.sql.Date(this.dateformat.parse(text).getTime())
} catch (ParseException e) {
throw new IllegalArgumentException("Could not parse date: " + e.getMessage());
}
}
@Override
public String getAsText() {
java.sql.Date value = (java.sql.Date) getValue();
return (value != null ? this.dateFormat.format(value) : "");
}
}
在你的控制器上:
@InitBinder
public void initBinder(final WebDataBinder binder) {
binder.registerCustomEditor(java.sql.Date.class, new SqlDateEditor(new SimpleDateFormat("dd/MM/yyyy")));
}