重定向到 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 应该重定向到谷歌。

原文由 Gruber 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 587
2 个回答

尝试这个:

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

这在 16.5.3.2 The redirect: prefix of Spring reference documentation 中有解释。当然,您始终可以手动执行此操作:

 response.sendRedirect(redirectUrl);

原文由 Tomasz Nurkiewicz 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

  }
}

原文由 Airton Bruno B Rivero 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题