Spring MVC での外部 URL へのリダイレクト
Spring MVC では、アプリケーション内でユーザーをリダイレクトするために redirect: プレフィックスがよく使用されます。ただし、外部 URL にリダイレクトする必要がある場合があります。
問題ステートメント
次のコード スニペットは、ユーザーをプロジェクト内の URL にリダイレクトします。
@RequestMapping(method = RequestMethod.POST) public String processForm(..., String redirectUrl) { return "redirect:" + redirectUrl; }
また、次のコードでは、外部のプロトコル (HTTP/HTTPS) の仕様が必要です。リダイレクト:
@RequestMapping(method = RequestMethod.POST) public String processForm(..., String redirectUrl) { return "redirect:" + "http://" + redirectUrl; }
解決策
プロトコルを指定せず、またはビューにリダイレクトせずに外部 URL にリダイレクトするには、次の解決策を検討してください:
方法 1:
Location ヘッダーとステータス コードを直接:
@RequestMapping(value = "/redirect", method = RequestMethod.GET) public void method(HttpServletResponse httpServletResponse) { httpServletResponse.setHeader("Location", projectUrl); httpServletResponse.setStatus(302); }
方法 2:
ModelAndView を使用して外部 URL にリダイレクトします:
@RequestMapping(value = "/redirect", method = RequestMethod.GET) public ModelAndView method() { return new ModelAndView("redirect:" + projectUrl); }
以上がSpring MVC で外部 URL にリダイレクトするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。