我需要将模式“yyyy-MM-dd”的日期转换为字符串格式“dd.MM.yyyy”。现在我有了这个。方法 getAsText() 在 setAsText 工作的同时不起作用。我做错了什么?
日期编辑器.java
@Component
public class DateEditor extends PropertyEditorSupport {
@Override
public void setAsText(String value) {
try {
setValue(new SimpleDateFormat("yyyy-MM-dd").parse(value));
} catch (Exception ex) {
setValue(null);
}
}
@Override
public String getAsText() {
String sdf = "";
try {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(true);//-
Date date = dateFormat.parse((String) getValue());
sdf = new SimpleDateFormat("dd.MM.yyyy").format(date);
System.out.println(sdf);
} catch (ParseException p) {}
return sdf;
}
}
初始化绑定器
@InitBinder
public void initBinder(WebDataBinder dataBinder) {
dataBinder.registerCustomEditor(Date.class,new DateEditor());
}