2013-08-30 12 views
5
I have written code as given below- 


@Controller 
@RequestMapping("something") 
public class somethingController { 
    @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.POST) 
    public String myAnotherFunc(HttpServletRequest request,HttpServletResponse response){ 
    //do sume stuffs 
    return "someView"; 
    } 
} 

Chcę przekierować do mapowania żądań "innegoUrl", którego metoda żądania to POST.Jak przekierować do POST wiosną MVC

Odpowiedz

9

W metodzie wiosna Controller może być zarówno Oznacza to, że może to być GET jak i POST ... w scenariuszu,

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

Chcesz to GET, ponieważ jesteś przekierowanie do niego ... Stąd rozwiązanie będzie

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

Uwaga: tutaj jeśli metoda przyjmowania pewnych parametrów żądania przez @ requestParam, następnie podczas przekierowanie należy przekazać im Simply wszystkie cechy wymagane przez tą metodą musi wyślij podczas przekierowania ...

Dziękuję

+0

bindingPoręczenia są tracone w ten sposób, sir. Jakiekolwiek rozwiązanie.? – masT

+0

Żadne wyniki wiązania nie zostaną utracone. W tym przypadku mówimy tylko o metodzie obsługi, aby zaakceptować zarówno metodę GET, jak i POST. –

+0

Chociaż z technicznego punktu widzenia to zadziała, jeśli napiszesz aplikację RESTful, to naruszy to oczekiwanie "braku efektów ubocznych" dla GET - więc każdy, kto będzie dążył do tego rozwiązania, będzie świadomy tego zerwania konwencji. Radziłbym albo znaleźć inny sposób, albo udokumentować to naprawdę, bardzo dobrze (na minimalnym poziomie) – romeara

Powiązane problemy