Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Annotated Spring MVC + dojo.xhrPost(), вызов контроллера по пост запросу 
:(
    Опции темы
skulyk
Дата 16.6.2009, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 16.6.2009

Репутация: нет
Всего: нет



всем добрый день!
есть проблема. существует аннотированный контроллер, который должен обрабатывать переход по ссылке

Код

@Controller
public class UpdateController {
    @RequestMapping("/views/subtemplates/objects/lvg/indexLvg.jsp")
    public void generateIndexLvgUpdate() throws Exception {
        System.out.println("call index LVG updates controller");
    }


обращение к этой ссылке происходит из java script по Ajax запросу с помощью dojo:

Код

   dojo.xhrPost({
        url: "views/subtemplates/objects/lvg/indexLvg.jsp",
        content: "LVG",
        handleAs: "text",
        load: function(respData, args) {
            getResponse(respData);
        }
     },
     error: function(data, args) {
            console.warn("error!");
     }
  });


при этом контроллер не отрабатывает. у меня есть класс ControllerInterceptor, который отлавливает все ссылки, он обращение к indexLvg.jsp тоже не получает.

возможно, это связано с ajax запросом и его нужно обрабатывать как-то не так. Буду рада любому совету и помощи
спасибо!
PM MAIL   Вверх
garbuz
Дата 16.6.2009, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 677
Регистрация: 22.1.2008

Репутация: 8
Всего: 11



Вроде как спринг явно не поддерживает ajax. Надо юзать DWR или еще какую-нить штуку. В тоже время можно написать обчыный сервлет, который будет обслуживать ajax запросы.
PM MAIL   Вверх
MisterCleric
Дата 16.6.2009, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 33
Всего: 38



вопрос:
а если на прямую вызвать 
views/subtemplates/objects/lvg/indexLvg.jsp

Аякс-то аяксом, а вот урлы сервером должны приниматься по-любом.
Понятно, что у тебя там какая-то логика завязана на аякс, но запрос-то должен пойти на сервак...
И как выглядит настройка spring в web.xml ?
Как тут говорят: "web.xml в студию!" 

Да, и еще такое: а если попробовать еще добавить к 
Цитата

url: "views/subtemplates/objects/lvg/indexLvg.jsp",


контекстный путь приложения. Для теста, думаю, можно ручками прописать твой http://localhost:[yourPort]/[yourAppContext]/


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
skulyk
Дата 16.6.2009, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 16.6.2009

Репутация: нет
Всего: нет



у нас в проекте используется dwr, я не могу найти, как его использовать в таком случае.  Или нужно просто в функции, которая получает ответ от сервера прописывать вызов dwr метода?
этот метод является общим, т.е. ссылка меняется. Контроллер - идеальный для меня вариант, если бы он мог срабатывать по обращению к этим ссылкам. 
я нашла такую ссылку http://static.springframework.org/spring-w...ml/ch11s05.html, но у меня пока не получилось все подключить.
Возможно, кто-то использовал tiles в этих целях?
PM MAIL   Вверх
MisterCleric
Дата 16.6.2009, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 33
Всего: 38



Цитата

Вроде как спринг явно не поддерживает ajax.


Считаю отнюдь не верным заключением: аякс не аякс - запросы все-равно должны идти на сервер
Да и еще вот опровержение 
Spring+Ajax

я думаю, именно эту часть и юзает 
skulyk, 


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
skulyk
Дата 16.6.2009, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 16.6.2009

Репутация: нет
Всего: нет



Цитата(MisterCleric @ 16.6.2009,  17:10)
вопрос:
а если на прямую вызвать 
views/subtemplates/objects/lvg/indexLvg.jsp

к сожалению, вызвать напрямую views/subtemplates/objects/lvg/indexLvg.jsp не получается, при загрузке стартуются компоненты YUI, а все ссылки прописаны в index.jsp и он их не находит, если вызвать напрямую. Контроллер отрабатывает, если, например прописать ссылку которая указана в <img src="ссылка">, а через аякс работать не хочет. добавление контекста не помогает. я могу привести web.xml, но там много всего лишнего, я уверена, что контроллеры работают правильно
PM MAIL   Вверх
MisterCleric
Дата 16.6.2009, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 33
Всего: 38



Цитата

 dojo.xhrPost({


стоп. А действительно ли это должен быть POST?
а что это такое?
Цитата

 content: "LVG",


по-моему контент должен содержать или JSON-объект или пары имя: значение, что и будет реквест параметрами. 
Может там еще Dojo не отправляет запрос, так как сам объект XmlHttpRequest не правильно сформирован.

Ошибки javascript в студию!


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
skulyk
Дата 16.6.2009, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 16.6.2009

Репутация: нет
Всего: нет



этот метод отрабатывает и возвращает содержимое страницы indexLvg.jsp. ошибок нет
PM MAIL   Вверх
goodday1941
Дата 16.6.2009, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 709
Регистрация: 16.7.2006
Где: Украина, Киев

Репутация: нет
Всего: 9



первое что хочу заметить аджакс не аджакс разници для сервера принципиально нет.. так что говорить что спринг не работает с аджаксом не разумно....

что то мне кажется что вы просто не отправляете запрос ) попробуйте фаербагом посмотреть отсылается ли вообще запрос на сервер

Добавлено через 6 минут и 35 секунд
Цитата

content    Object    Contains properties with string values. These properties will be serialized as name1=value2 and passed in the request.


Добавлено через 7 минут и 16 секунд
скорее всего там и валится...

поставте фаербаг себе сэкономит кучу времени

Добавлено через 8 минут и 44 секунды
мда что то все что я сочинил уже написал MisterCleric )


--------------------
SCJP 6
PM MAIL ICQ Skype GTalk   Вверх
MisterCleric
Дата 16.6.2009, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 33
Всего: 38



goodday1941

Цитата

мда что то все что я сочинил уже написал MisterCleric ) 


RESPECT, дружище !!!  smile 



--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
skulyk
Дата 16.6.2009, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 16.6.2009

Репутация: нет
Всего: нет



посмотрела через FireBug, content=undefinedб прошу прощение за ошибку. запрос отрабатывает, в консоли это видно
в ответ приходит содержимое indexLvg.jsp в текстовом виде, в консоли тоже это видно.
вопрос в том, должен ли срабатывать спринговый контроллер при таком обращении к этой ссылке? или для этого нужно подключать какие-то спринговые модули?
PM MAIL   Вверх
goodday1941
Дата 16.6.2009, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 709
Регистрация: 16.7.2006
Где: Украина, Киев

Репутация: нет
Всего: 9



нет, если я тебя правильно понял ))


--------------------
SCJP 6
PM MAIL ICQ Skype GTalk   Вверх
MisterCleric
Дата 16.6.2009, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 33
Всего: 38



Цитата

должен ли срабатывать спринговый контроллер при таком обращении к этой ссылке


ну эт нужно читать, как мепинги правильно организовывать...


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
goodday1941
Дата 16.6.2009, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 709
Регистрация: 16.7.2006
Где: Украина, Киев

Репутация: нет
Всего: 9



на сколько я понял ты не обращался к спринговому контроллеру, а просто напрямую к жспихе


--------------------
SCJP 6
PM MAIL ICQ Skype GTalk   Вверх
skulyk
Дата 17.6.2009, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 16.6.2009

Репутация: нет
Всего: нет



я сама поняла, что идет прямой запрос к jsp, но не поняла почему. пробовала многие варианты маппинга, но не смогла добиться вызова контроллера по ссылке
views/subtemplates/objects/lvg/indexLvg.jsp если только не прописать в web.xml

Код

<servlet-mapping>
        <servlet-name>centricstor</servlet-name>
        <url-pattern>/views/*</url-pattern>
</servlet-mapping>


окончательное решение: ссылки на jsp страницы были заменены на ссылки вида "objects/lvg"
web.xml:
Код

<servlet-mapping>
        <servlet-name>centricstor</servlet-name>
        <url-pattern>/objects/*</url-pattern>
    </servlet-mapping>


в контроллере:
@RequestMapping("/objects/lvg")

контроллер возвращает 
return new ModelAndView("../views/subtemplates/objects/lvg/indexLvg.jsp", "model", model);

теперь контроллер вызывается и потом показывается сама jsp страница

запрос так и отправляется через dojo.xhrPost() так что ajax действительно был ни при чем.

спасибо всем, кто откликнулся!
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0589 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.