Вызов пружинного метода контроллера mvc из другого метода контроллера на основе URL - PullRequest
3 голосов
/ 08 марта 2011

Я новичок в этом форуме и искал свою проблему, хотя упоминаются похожие проблемы, но не та, которую я ищу. Так что вот так.

У меня есть всплывающее окно платежа в моем приложении, которое можно вызвать с любой страницы приложения, и как только пользователь отправляет свои платежные реквизиты во всплывающем окне, браузер перенаправляет на сайт PayPal и выполняет некоторые проверки и возвращается в мое приложение после подтверждения пользователя. 1003 *

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

Так что теперь у меня есть URL приложения в моем методе обратного вызова, но я не могу переслать запрос к нему.

Пример как ниже:

mv = new ModelAndView("forward:/secure/music/index");

OR

return "forward:/secure/music/index";

Если я заменяю forward: на redirect: он работает нормально, но мне нужно перенаправить его, а не перенаправлять (и, следовательно, инициировать другой запрос).

Ответы [ 3 ]

10 голосов
/ 21 июня 2011

Если вы хотите вызвать метод другого контроллера, вы можете @Autowire второй контроллер вашего основного контроллера, а затем вызвать нужный метод, передав тот же запрос, что и параметр.

Надеюсь, это поможет, у меня это сработало!

1 голос
/ 10 июня 2013

Вы должны сделать тип возврата вашего вызывающего метода как ModelAndView и сделать вызов следующим образом: вернуть новый ModelAndView («forward: / secure / music / index»);

Это работает для меня, может работать и для вас.

0 голосов
/ 09 марта 2011
return new ModelAndView(viewName) 

должно работать. Однако если вам нужны некоторые значения из модели, вам необходимо заполнить их, прежде чем возвращать ModelAndView и также возвращать модель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...