2011-03-08 14 views
2

私はこのフォーラムには新規で、私の問題を検索しましたが、同様の問題は言及されていますが、私が探しているものではありません。だからここに行く。URLに基​​づいて別のコントローラメソッドからspring 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'のように解決されるビューですか? –

答えて

0
return new ModelAndView(viewName) 

が有効です。ただし、モデルからいくつかの値が必要な場合は、ModelAndViewを返す前に値を設定してモデルを返す必要があります。

9

別のコントローラのメソッドを呼び出す場合は、メインコントローラの2番目のコントローラ@Autowireを呼び出してから、同じリクエストをパラメータとして渡して、目的のメソッドを呼び出します。

希望すると、これは私のために働いた!

1

呼び出し元のメソッドの戻り値の型をModelAndViewとして作成し、次のように呼び出します。 new ModelAndView( "forward:/ secure/music/index");

私のために働く、あなたのために働くかもしれない。

関連する問題