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;)]

3个回答

在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。

加入类型转换。

时间类型转换错误

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐