2009-08-25 51 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

相關問題