Проверка Struts2 при использовании div, загруженных из ajax - PullRequest
1 голос
/ 05 мая 2011

У нас есть приложение Struts2, использующее <sx:tabbedpanel>. Я знаю, что с тех пор это устарело, но у нас еще не было времени заменить его.

Мы заполняем вкладки с помощью тега <sx:div> и указываем атрибут href, который выполняет асинхронный вызов сервера для заполнения содержимого вкладки. Недостатком этого является то, что мы теряем информацию проверки, такую ​​как <s:actionerror>.

Вот что, по нашему мнению, происходит ... когда пользователь выполняет недопустимое действие, класс действия возвращает ошибки проверки. Когда полученный jsp загружен, сообщения проверки доступны. Однако <sx:div> затем выполняет асинхронный обратный вызов на сервер, чтобы перезагрузить содержимое. На этот раз класс действия просто загружает данные для отображения, поэтому он не генерирует никаких проверочных сообщений. Результаты этого вызова ajax затем отображаются в браузере без каких-либо проверочных сообщений.

Я видел много примеров использования в сети тега <sx:div> таким образом в панели вкладок, так что я предполагаю, что это проблема, которая была решена раньше, но мы просто ее не нашли.

Кто-нибудь знает учебники или примеры, которые показывают, как сделать проверку в этом случае?

Спасибо за помощь, я действительно ценю это.

Ответы [ 2 ]

0 голосов
/ 24 мая 2011

Мы обнаружили, что мы можем заполнить div, используя вместо этого тег <s:action>. Он обрабатывается во время первоначального запроса, позже он не выполняет вызов ajax. Поэтому JSP имеют доступ к сообщениям проверки и ошибкам.

0 голосов
/ 06 мая 2011

Имеет ли смысл размещать ошибки за пределами панели вкладок, например:

<s:fielderror />
<sx:tabbedpanel...>
...
</sx:tabbedpanel>

Возможно, мы можем помочь вам немного больше, если вы можете опубликовать пример кода или предоставить больше информации о том, какогоожидаемые ошибки и содержание панели с вкладками.

...