У меня есть веб-приложение, которое интегрирует DWR 3 и Spring 3. Все запросы обрабатываются Spring DispatcherServlet. Все работает. Когда я запрашиваю AJAX-запрос, он корректно обрабатывается компонентом службы поддержки DWR с аннотацией @RemoteProxy. Чтобы вернуть ответ, мой компонент службы DWR возвращает либо строку HTML, включающую @DataTransferObject POJO, либо просто обычный POJO.
То, что я хочу сделать, - это служебный компонент DWR. Я хочу, чтобы он перенаправил обработку в bean-компонент Spring @Controller. Запрос AJAX будет по-прежнему обрабатываться службой DWR, но реальная обработка делегируется бину контроллера Spring. Другими словами, служебный компонент DWR - это просто фасад службы для реального обслуживания. Таким образом, я не дублирую логику.
Возможно ли это?
Позвольте мне уточнить.
В обычном приложении без AJAX, когда пользователь отправляет форму, вот что происходит:
- Это отправлено
DispatcherServlet
- Затем к аннотированному компоненту @Controller.
- Затем обработка обрабатывается компонентом @Service.
- После этого контроллер возвращает ModelAndView.
В приложении DWR-AJAX, когда пользователь отправляет форму, вот что происходит:
- Все еще отправляется в DispatcherServlet
- Затем к аннотации @RemoteProxy
боб. Обработка обрабатывается
этот боб Это сервис DWR
боб.
- После этого этот удаленный прокси-компонент возвращает либо @DataTransferObject POJO, либо просто простую строку HTML
В основном для приложения AJAX,
после шага 2 я хочу переслать
к бину @Controller, чтобы
все еще обрабатывается
Spring.