meiyourena 2010-04-27 09:09
浏览 230
已采纳

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条回答 默认 最新

  • easyj2ee 2010-04-27 13:09
    关注

    在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、可以增加一个全局的类型转换器。
    具体可以参见类型转换器的开发。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?