由于项目比较赶时间,所以对于springmvc时间注入这块一直都没有改,没有花时间去研究这个东西,今天有时间看看这块的知识,发现还是很简单的。
以前时间转换总是不成功,解决办法是采用的是声明一个临时变量,然后解析成java.util.Date对象,然后手动set到对象中。
现在不需要了,在spring中提供了一个注解@DateTimeFormat,在使用这个注解时,需要添加joda-time-1.6.jar,然后spring会自动把字符串格式的时间转换成java.util.Date格式。
例如:
以上是参数为java.util.Date格式。
这里需要注意的是:字符串格式的时间,必须与指定时间的格式要想对应,否则会抛异常。
以前时间转换总是不成功,解决办法是采用的是声明一个临时变量,然后解析成java.util.Date对象,然后手动set到对象中。
现在不需要了,在spring中提供了一个注解@DateTimeFormat,在使用这个注解时,需要添加joda-time-1.6.jar,然后spring会自动把字符串格式的时间转换成java.util.Date格式。
例如:
@RequestMapping(value="/test")
public String test(@DateTimeFormat(pattern="yyyy-MM-dd")Date date){
System.out.println(date);
return "test.jsp";
}
http://127.0.0.1:8080/demo/test?date=2013-01-01
以上是参数为java.util.Date格式。
Class C{
private int a;
private java.util.Date d;
public int getA(){
return a;
}
public void setA(int a){
this.a = a;
}
@DateTimeFormat(pattern="yyyy-MM-dd")
public java.util.Date getD(){
return d;
}
public void setD(java.util.Date d){
this.d = d;
}
public String toString(){
return "a:" + a + "d:" + d;
}
}
第二种,对象中包含时间格式
@RequestMapping(value="/test")
public String test(C c){
System.out.println(c);
return "test.jsp";
}
http://127.0.0.1:8080/demo/test?a=12&d=2013-01-01
这里需要注意的是:字符串格式的时间,必须与指定时间的格式要想对应,否则会抛异常。