在Spring MVC中重定向到动态URL

在Spring MVC中重定向到动态URL

问题描述:

我希望我的Spring MVC应用程序重定向到动态URL(由用户提交).所以如果我有这样的代码,

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 ?
}

我应该写些什么来重定向到提交的URL?例如,http://mySpringMvcApp/redirectToSite?redir_url=http://www.google.com应该重定向到Google.

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.

尝试一下:

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

这在 16.5.3.2 Spring

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);