我注意到下面的代碼是將用戶重定向到項目中的URL,重定向從控制器動作的外部URL在Spring MVC
@RequestMapping(method = RequestMethod.POST)
public String processForm(HttpServletRequest request, LoginForm loginForm,
BindingResult result, ModelMap model)
{
String redirectUrl = "yahoo.com";
return "redirect:" + redirectUrl;
}
然而,下面是正確重定向如預期,但需要http://或https://開頭
@RequestMapping(method = RequestMethod.POST)
public String processForm(HttpServletRequest request, LoginForm loginForm,
BindingResult result, ModelMap model)
{
String redirectUrl = "http://www.yahoo.com";
return "redirect:" + redirectUrl;
}
我想重定向始終重定向到指定的URL,無論它在它還是不是一個有效的協議,並且不希望重定向到一個視圖。我怎樣才能做到這一點?
感謝,
如果你直接返回一個String而不是ModelAndView,它就更簡單了。 –
看來,在第一種方法中,你應該設置返回代碼爲302.否則服務器會返回一個代碼爲200的響應,並且在我的情況下(Firefox 41.0)不會導致重定向。 –
我們是否也可以在重定向到外部URL期間添加cookie。 – Srikar