2011-03-08 42 views
2

我是這個論壇的新手,已經搜索了我的問題,雖然提到了類似的問題,但沒有提到我正在尋找的問題。所以在這裏。從另一個基於url的控制器方法調用彈簧mvc控制器方法

我的應用程序中有一個支付彈出窗口,可以從任何應用程序頁面調用,並且一旦用戶在彈出窗口上提交他的支付詳細信息,瀏覽器將重定向到PayPal網站並執行一些檢查並在用戶確認後返回到我的應用程序。

現在在這個回調方法中,我需要將請求轉發到調用彈出窗口的原始頁面。

所以,現在我有我的回調方法中的應用程序url,但似乎無法將請求轉發給它。

例象下面這樣:

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

OR

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

如果我更換着:與重新定位:它工作正常,但我需要轉發它,而不是把它重定向(因此發起另一個請求)。

+1

'/ secure/music/index'是另一個控制器的RequestMapping,還是像'/ WEB-INF/view/secure/music/index.jsp'這樣的解析視圖? – 2011-03-08 22:24:48

回答

0
return new ModelAndView(viewName) 

應該工作。但是,如果您需要模型中的某些值,則需要在返回ModelAndView並返回模型之前填充它們。

9

如果您想調用另一個控制器的方法,您可以在主控制器中的第二個控制器@Autowire,然後調用所需的方法,傳遞與參數相同的請求。

希望這會有所幫助,它爲我工作!

1

您應該將調用方法的返回類型設置爲ModelAndView,並按以下方式進行調用 - 返回新的ModelAndView(「forward:/ secure/music/index」);

它適合我,也可能適合你。

相關問題