2009-08-25 36 views
1

我使用strut2.1.6使用Tomcat 5.5ognl.MethodFailedException“setCreatedDate”失败的对象[email protected]

我在我的PasswordHistory豆日期字段CREATEDATE,并在相应的日期组件我的“search.jsp”这个字段是可选的 - 不需要验证。

如果我提交表单我是得到控制台 ognl.MethodFailedException的follwoing错误:方法 “setCreatedDate” 失败对象[email protected] [java.lang.NoSuchMethodException:setCreatedDate([Ljava。 lang.String;)] -

它看起来它试图将空字符串转换为日期,当它失败时它会尝试搜索相应的String参数方法,并且如果它成功将值转换为日期,则会调用相应的日期参数方法 - 穆罕默德·沙希德

我希望避免任何转换,如果字段不能为空。

回答

1

你在struts.xml中有struts.devMode = true吗?从文档:

第三,也许这是不太广为人知的设置,因此很多混乱的来源:它会提高调试或常忽略的问题,错误的水平。例如:当你提交一个不能在动作'someUnknownField'上设置的字段时,它通常会被忽略。但是,当你处于开发模式时,会抛出一个异常,告诉你一个无效的字段被提交。这对调试或测试大型表单非常有用,但是如果您依赖请求中未设置的动作,而是直接在视图图层中使用的参数(警告:不良练习,你应该始终验证来自网络的输入)。

http://struts.apache.org/2.1.6/docs/devmode.html

相关问题