Предупреждение о конвертации Struts2 - PullRequest
1 голос
/ 27 января 2012

Я занимаюсь разработкой модельного веб-приложения на Struts2.2.3.Под моделью я подразумеваю, что таблицы базы данных представлены в виде классов Java (вы знаете).И модели имеют свойства с такими типами, как Integer, Date и так далее.Когда я отображаю эти значения на странице, и когда пользователь помещает значения, отличные от исходного, это всегда дает мне исключения.Он не достигает функции проверки перед заполнением.

И он показывает следующее сообщение на странице:

Invalid field value for field "estimates[1].count".

Также показывает следующее исключение на консоли

 WARN OgnlValueStack:60 - Error setting expression 'estimates[1].count' with value '[Ljava.lang.String;@a61ffd'

Я виделу некоторых людей раньше была такая проблема: http://osdir.com/ml/user-struts.apache.org/2009-12/msg00037.html

У меня перехватчик ConversionError удален из стека по умолчанию.И мой devMode выключен.Тем не менее, я все еще получаю эти ошибки.

ОБНОВЛЕНИЕ:

Я обнаружил, что исключение ошибки может быть перехвачено MyAction-validation.xml, и сообщение об ошибке можно настроить.Но предупреждение OGNL все же осталось.

Таким образом, вопрос таков:

Можно ли как-то не отображать это предупреждение в журнале?

Ответы [ 2 ]

1 голос
/ 01 февраля 2012

Проблема в том, что фреймворк пытается преобразовать данные вашей формы в неадекватный тип Java (обычно в строку).Поэтому, если ваши компоненты или действия имеют разные типы, выдается ошибка преобразования.

Я исправляю это, создавая свои собственные конвертеры и регистрируя их в файле xwork-conversion.properties.

Вы должны проверить это: http://struts.apache.org/2.2.3/docs/type-conversion.html

0 голосов
/ 02 февраля 2012

Если вы столкнулись с этим, нет решения не отображать этот WARN на консоли или журнале:

Пожалуйста, прочитайте:

http://www.mail-archive.com/user@struts.apache.org/msg90542.html

...