2009-08-25 3 views
1

Я использую strut2.1.6 с Tomcat 5.5ognl.MethodFailedException «setCreatedDate» не для объекта [email protected]

У меня есть поле даты createDate в моей PasswordHistory Bean, и соответствующие даты компонента на мое «search.jsp» это поле не является обязательным - проверка не требуется.

если я отправить форму я получаю ошибку follwoing на консоли ognl.MethodFailedException: Метод «setCreatedDate» не для объекта [email protected] [java.lang.NoSuchMethodException: setCreatedDate ([Ljava. lang.String;)] -

похоже, что он пытается преобразовать пустую строку в дату, когда она не работает, она пытается найти соответствующий метод аргументов String и, если она успешно преобразует значение на дату, вызывает соответствующие Метод аргумента даты - Мухаммад Шахид

Я хочу избежать любого преобразования, если поле является emtpy.

ответ

1

У вас есть struts.devMode = true в struts.xml? Из документов:

И, в-третьих, возможно, эта настройка менее широко известна и, следовательно, источник большой путаницы: она повысит уровень ошибок отладки или обычно игнорируемых ошибок. Например: когда вы отправляете поле, которое нельзя установить для действия «someUnknownField», оно обычно игнорируется. Однако, когда вы находитесь в режиме разработки, будет выбрано исключение, сообщающее вам, что было отправлено недопустимое поле. Это очень полезно для отладки или тестирования больших форм, но также может быть запутанным, если вы полагаетесь на параметры в своем запросе, которые не заданы в действии, но которые вы используете непосредственно на вашем уровне представления (предупреждение: неправильная практика, вы всегда должны проверять ввод из Интернета).

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

Смежные вопросы