Issue
I want my Spring MVC application to redirect to a dynamic URL (submitted by the user). So if I have code like this,
@RequestMapping("/redirectToSite")
protected ModelAndView redirect(
@RequestParam("redir_url") String redirectUrl,
HttpServletRequest request,
HttpServletResponse response)
{
// redirect to redirectUrl here
return ?
}
what should I write to redirect to the submitted URL? For instance http://mySpringMvcApp/redirectToSite?redir_url=http://www.google.com
should redirect to Google.
Solution
Try this:
@RequestMapping("/redirectToSite")
protected String redirect(@RequestParam("redir_url") String redirectUrl)
{
return "redirect:" + redirectUrl;
}
This is explained in 16.5.3.2 The redirect: prefix of Spring reference documentation. Of course you can always do this manually:
response.sendRedirect(redirectUrl);
Answered By - Tomasz Nurkiewicz
Answer Checked By - Dawn Plyler (JavaFixing Volunteer)