Ajax, Struts и нулевой указатель - PullRequest
0 голосов
/ 07 октября 2011

Я недавно разработал простой поиск ajax. Весь код на моем сервере использует Struts, поэтому мне пришлось использовать несколько громоздкий способ программирования. Мой основной метод возвращает ActionForward. Я запрограммировал таким образом, что отправлю текст клиенту, а затем верну нулевое действие вперед.

Это прекрасно работает.

... кроме того, он генерирует ошибку нулевого указателя в журнале. И наш производственный журнал обычно отправляет электронное письмо каждый раз, когда происходит ошибка. Как я могу избавиться от этой ошибки? Есть ли другой способ (который не включает в себя другую структуру)?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 03 ноября 2011

Причина NPE может существовать в вашем приложении, а не в стойках. Я столкнулся с той же проблемой сегодня и был действительно озадачен. Struts поддерживает возврат нулевого ActionForward, поэтому нет причин получать NPE.

Поэтому я покопался в NPE и обнаружил, что его выбрасывает класс, принадлежащий нашему приложению. Этот класс наследует класс Struts DispatchAction и, в свою очередь, наследуется всеми классами действий в нашем приложении.

Короче говоря, хотя стойки поддерживали нулевой ActionForward, класс-потомок этого не сделал. Как только я настроил класс-потомок для обработки нулевых значений, NPE ушел.

0 голосов
/ 07 октября 2011

Когда вы говорите «Основной метод», ссылаетесь ли вы на класс действий? Если это вызывается через ajax, вы можете установить тип возврата void.

...