Datetime ognl.MethodFailedException“;setCreatedDate";对象com.security.data失败。PasswordHistory@d5b561

Datetime ognl.MethodFailedException“;setCreatedDate";对象com.security.data失败。PasswordHistory@d5b561,datetime,struts2,Datetime,Struts2,我将strut2.1.6与tomcat 5.5一起使用 我在PasswordHistory Bean中有一个日期字段createDate,在我的“search.jsp”中有相应的日期组件。这个字段是可选的,不需要验证 如果我提交表单,我会在控制台上看到以下错误 ognl.MethodFailedException:对象com.security.data的方法“setCreatedDate”失败。PasswordHistory@d5b561[java.lang.NoSuchMethodExcept

我将strut2.1.6与tomcat 5.5一起使用

我在PasswordHistory Bean中有一个日期字段createDate,在我的“search.jsp”中有相应的日期组件。这个字段是可选的,不需要验证

如果我提交表单,我会在控制台上看到以下错误 ognl.MethodFailedException:对象com.security.data的方法“setCreatedDate”失败。PasswordHistory@d5b561[java.lang.NoSuchMethodException:setCreatedDate([Ljava.lang.String;)]–

看起来它正在尝试将空字符串转换为日期,当它失败时,它将尝试搜索相应的字符串参数方法,如果它成功地将值转换为日期,它将调用相应的日期参数方法–Muhammad Shahid


如果字段是emtpy,我希望避免任何转换。

您是否在struts.xml中有struts.devMode=true?来自文档:

第三,可能是不太广为人知的设置,因此会引起很多混乱:它会将调试级别或通常可忽略的问题提升为错误。例如:当您提交一个无法在操作“someUnknownField”上设置的字段时,它通常会被忽略。然而,当您处于开发模式时,一个异常将抛出一个选项,告诉您提交了一个无效字段。这对于调试或测试大型表单非常有用,但如果您依赖于请求中未在操作上设置但直接在视图层中使用的参数,则可能会造成混淆(警告:错误做法,您应该始终验证来自web的输入)


您是否在struts.xml中有struts.devMode=true?来自以下文档:

第三,可能是不太广为人知的设置,因此会引起很多混乱:它会将调试级别或通常可忽略的问题提升为错误。例如:当您提交一个无法在操作“someUnknownField”上设置的字段时,它通常会被忽略。然而,当您处于开发模式时,一个异常将抛出一个选项,告诉您提交了一个无效字段。这对于调试或测试大型表单非常有用,但如果您依赖于请求中未在操作上设置但直接在视图层中使用的参数,则可能会造成混淆(警告:错误做法,您应该始终验证来自web的输入)