2012-01-30 12 views

Odpowiedz

4

Nie można dodać testu POST, ale można przekierować za pomocą polecenia GET. Wykonaj następujące czynności:

@RequestMapping("/redirectMe") 
public void redirectMe (HttpServletResponse response){ 
    response.sendRedirect("http://redirected.com/form?someGetParam=foo"); 
} 
+0

Dlaczego poczta nie jest możliwe? Mam problem z pobieraniem, gdy mam kolekcję, ponieważ generowany parametr URL to: http: // localhost: 8080/myApp/A/result.form? Parameters = SomeName & parameters = SoemField', który prowadzi do 'parameters = SomeName'. Dowolny pomysł? – Betlista

+0

Kiedy radzisz przeglądarce, aby przekierowywało, jak jest powiedziane w tym pytaniu, nie ma gdzie określić, który czasownik http jest używany. To zawsze będzie GET. Jeśli potrzebujesz POST, musisz wdrożyć klienta javascript, aby to zrobić, a będziesz musiał upewnić się, że nie wykonujesz skryptów cross site. – aweigold

1

zrobić coś takiego

@RequestMapping(value="/someUrl",method=RequestMethod.POST) 
public String myFunc(HttpServletRequest request,HttpServletResponse response,Map model){ 
    //do sume stuffs 
    return "redirect:/anotherUrl"; //gets redirected to the url '/anotherUrl' 
} 

@RequestMapping(value="/anotherUrl",method=RequestMethod.GET) 
public String myAnotherFunc(HttpServletRequest request,HttpServletResponse response){ 
    //do sume stuffs 
    return "someView"; 
}