Перенаправление на динамический URL в Spring MVC - PullRequest
41 голосов
/ 16 февраля 2012

Я хочу, чтобы мое приложение 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.

Ответы [ 2 ]

83 голосов
/ 16 февраля 2012

Попробуйте это:

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

Это объясняется в 16.5.3.2 Перенаправление: префикс Spring справочная документация . Конечно, вы всегда можете сделать это вручную:

response.sendRedirect(redirectUrl);
6 голосов
/ 22 октября 2016
@RequestMapping(value="/redirect",method=RequestMethod.GET)
void homeController(HttpServletResponse http){
  try {
    http.sendRedirect("Your url here!");
  } catch (IOException ex) {

  }
}
...