在Spring MVC 中重定向到外部URL
在Spring MVC 中,redirect: 前綴通常用於在應用程式內重定向用戶。但是,在某些情況下,我們可能需要重新導向到外部 URL。
問題陳述
以下程式碼片段將使用者重新導向到專案內的 URL:
@RequestMapping(method = RequestMethod.POST) public String processForm(..., String redirectUrl) { return "redirect:" + redirectUrl; }
或者,以下程式碼需要外部協定(HTTP/HTTPS)規範重新導向:
@RequestMapping(method = RequestMethod.POST) public String processForm(..., String redirectUrl) { return "redirect:" + "http://" + redirectUrl; }
解
要重新導向到外部URL 而不指定協定或重定向到視圖,請考慮以下解決方案:
方法一:
設定Location header與狀態碼直接:
@RequestMapping(value = "/redirect", method = RequestMethod.GET) public void method(HttpServletResponse httpServletResponse) { httpServletResponse.setHeader("Location", projectUrl); httpServletResponse.setStatus(302); }
方法二:
方法二:@RequestMapping(value = "/redirect", method = RequestMethod.GET) public ModelAndView method() { return new ModelAndView("redirect:" + projectUrl); }使用Mode定向到外部URL:
以上是如何在 Spring MVC 中重新導向到外部 URL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!