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条)

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站