我是springMVC的新手,今天我写了一个DateConverter 像这样
public class DateConverter implements Converter<String,Date>{
private String formatStr = "";
public DateConverter(String fomatStr) {
this.formatStr = formatStr;
}
public Date convert(String source) {
SimpleDateFormat sdf = null;
Date date = null;
try {
sdf = new SimpleDateFormat(formatStr);
date = sdf.parse(source);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
}
然后我写了一个像这样的控制器
@RequestMapping(value="/converterTest")
public void testConverter(Date date){
System.out.println(date);
}
将其配置为applicationContext,我确信DateConverter已经正确初始化,当我用
测试我的转换器时http://localhost:8080/petStore/converterTest?date=2011-02-22
the browser says:
HTTP Status 400 -
type Status report
message
description The request sent by the client was syntactically incorrect ().
有人可以帮我吗?提前谢谢
答案 0 :(得分:1)
您的转换器中有拼写错误。你拼错了构造函数参数,所以赋值没有效果。而不是:
public DateConverter(String fomatStr) {
this.formatStr = formatStr;
}
尝试:
public DateConverter(String formatStr) {
this.formatStr = formatStr;
}
可能还有其他问题,但至少你会想要解决这个问题。我假设您使用yyyy-MM-dd
作为日期格式?