| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Struts 2 + JQuery Ajax |
| Автор: Nikola661 12.4.2010, 09:15 | ||||
| Добре!!! Пытаюсь использовать в своем приложении Struts 2 и JQuery Ajax. Вот index.jsp:
Возможно ли так в jquery, без jquery у меня получалось аяксить. Когда делаю так то работает:
Но мне надо сначало выполнить Action!!! Спасибо??? |
| Автор: Ares4322 12.4.2010, 13:43 |
| В доках по Struts2 пишут, что надо кастомайзить свой Action-класс для обработки AJAX. Но я сделал проще. Делаю простой сервлет, который обрабатывает AJAX(принимает запросы, парсит их и отправляет ответы), определяю в web.xml отображение запросов на этот сервлет(ну как простое программирование веба через сервлеты), а в struts.xml запрещаю обрабатывать запросы по данному url. И все работает. То есть AJAX запросы обрабатываются вне ACTION-классов, но, при этом, этот сервлет может пользоваться данными struts, например, объектами сессии. |
| Автор: Nikola661 13.4.2010, 04:27 | ||||||||||||
Тоже вариант, но прикол в том что раньше я делал так (взято с форума http://www.linkexchanger.su/forum/viewtopic.php?f=20&t=257&p=2297#p2297 чтобы только показать суть):
И все работало! Тут естественно в url писал так http://localhost:8080/MyApp/testAjax.do Action возвращал мне HTML и я всовывал его в какой-нибудь тег:
Через эту конструкцию не работает:
А вот так прокатило:
вернул страницу!!! Хотя на api.jquery.com написано, что должно пахать. Попробовал использовать другие собития, а именно error и beforeSend:
Вот что он мне написал: Error 404: No result defined for action ru.tester.action.TestAjaxAction and result input |
| Автор: Ares4322 13.4.2010, 08:02 |
| Описание этой ошибки означает, что Ваши данные не прошли валидацию, а struts не может найти перенаправление для Result-типа input. Вы делаете валидацию ( с помощью файла или метода)? |
| Автор: Nikola661 13.4.2010, 09:41 | ||||||
| Не внимательно читал док!!! Я неправильно засылал параметры запроса.
Это не правильно!!!Надо вроде так:
,но почему то в севрлете они null.
Тут написано: http://api.jquery.com/jQuery.ajax/ |