web-dev-qa-db-ja.com

Spring MVCの動的URLにリダイレクトする

Spring MVCアプリケーションが(ユーザーによって送信された)動的URLにリダイレクトするようにします。このようなコードがある場合、

@RequestMapping("/redirectToSite")
protected ModelAndView redirect(
    @RequestParam("redir_url") String redirectUrl,
    HttpServletRequest request, 
    HttpServletResponse response) 
{
    // redirect to redirectUrl here
    return ?
}

送信されたURLにリダイレクトするには何を書く必要がありますか?例えば ​​http://mySpringMvcApp/redirectToSite?redir_url=http://www.google.comはGoogleにリダイレクトする必要があります。

42
Gruber

これを試して:

@RequestMapping("/redirectToSite")
protected String redirect(@RequestParam("redir_url") String redirectUrl) 
{
    return "redirect:" + redirectUrl;
}

これは 16.5.3.2リダイレクト:Springのprefix で説明されています リファレンスドキュメント 。もちろん、いつでも手動でこれを行うことができます。

response.sendRedirect(redirectUrl);
83
@RequestMapping(value="/redirect",method=RequestMethod.GET)
void homeController(HttpServletResponse http){
  try {
    http.sendRedirect("Your url here!");
  } catch (IOException ex) {

  }
}