struts2验证错误

为什么还是提示:
Error setting expression 'graduation' with value '[Ljava.lang.String;@1458dcb'
ognl.MethodFailedException: Method "setGraduation" failed for object com.shnu.action.RegisterAction@e391c4 [java.lang.NoSuchMethodException: com.shnu.action.RegisterAction.setGraduation([Ljava.lang.String;)]

警告: Error setting expression 'birthday' with value '[Ljava.lang.String;@76f2e8'
ognl.MethodFailedException: Method "setBirthday" failed for object com.shnu.action.RegisterAction@e391c4 [java.lang.NoSuchMethodException: com.shnu.action.RegisterAction.setBirthday([Ljava.lang.String;)]

在Struts中,默认的时间格式是04/26/10这种格式,即是MM/DD/YY格式,只有这种格式,才会被内置的转换器转换成时间格式。
对于中国人默认喜欢的YYYY-MM-DD,如2010-04-26的格式无法自动转换。
解决方法
1、在类中增加一个方法
[code="java"]
public void setBrithday(String birthday){
//在这里做转换,将String format成Date
}
[/code]
这样,struts2在进行拦截赋值的时候,就会调用到你的这个方法了。
2、可以增加一个全局的类型转换器。
具体可以参见类型转换器的开发。

类型转换错误。你输入的graduation是String 要转换为 Date。

加入类型转换。

时间类型转换错误