Ошибка ognl.MethodFailedException «setCreatedDate» для объекта com.security.data.PasswordHistory@d5b561 - PullRequest
1 голос
/ 25 августа 2009

я использую strut2.1.6 с tomcat 5.5

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

если я отправляю форму, я получаю следующую ошибку на консоли ognl.MethodFailedException: метод «setCreatedDate» не выполнен для объекта com.security.data.PasswordHistory@d5b561 [java.lang.NoSuchMethodException: setCreatedDate ([Ljava.lang.String;)] -

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

Я хочу избежать конвертации, если поле имеет emtpy.

1 Ответ

1 голос
/ 26 августа 2009

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...