zauważyłem następujący kod przekierowuje użytkownika do adresu URL wewnątrz projektu,Przekierowanie na zewnętrzny URL z akcji kontrolera w Spring MVC
@RequestMapping(method = RequestMethod.POST)
public String processForm(HttpServletRequest request, LoginForm loginForm,
BindingResult result, ModelMap model)
{
String redirectUrl = "yahoo.com";
return "redirect:" + redirectUrl;
}
natomiast, co następuje przekierowanie prawidłowo zgodnie z przeznaczeniem, ale wymaga http: // lub 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;
}
Chcę przekierowanie zawsze przekierowanie do adresu URL określonego, czy to ma ważny protokół w nim, czy też nie i nie chcą, aby przekierować do widoku. Jak mogę to zrobić?
Dzięki,
Jest jeszcze prostsze, jeśli bezpośrednio zwrócisz łańcuch, a nie modelAndView. –
Wygląda na to, że w pierwszej metodzie powinieneś ustawić kod powrotu na 302. W przeciwnym razie serwer zwróci odpowiedź z kodem 200 i nagłówkiem Lokalizacja, który nie spowoduje przekierowania w moim przypadku (Firefox 41.0). –
Czy możemy również dodawać pliki cookie podczas przekierowania do zewnętrznego adresu URL. – Srikar