2013-08-30 2 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"; 
    } 
} 

Я хочу перенаправить на отображение запроса «anotherUrl», чей метод запроса POST.Как перенаправить на POST весной MVC

ответ

9

В методе весной контроллер может быть как то, что означает, что он может быть GET и POST Как ... в вашем сценарии,

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

Вы хотите, чтобы это получить, потому что вы перенаправляют к нему ... Следовательно, ваше решение будет

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

Внимание: здесь, если ваш метод принятия некоторых параметров запроса с помощью @ requestParam, то при перенаправлении вы должны передать их Просто все атрибуты, необходимых для этого метода должен отправить при перенаправлении ...

Thank You

+0

bindResults теряются таким образом, сэр. Любое решение.? – masT

+0

Отсутствие обязательных результатов будет потеряно. Здесь мы говорим только о методе дескриптора для принятия метода GET и POST. –

+0

Хотя с технической точки зрения это будет работать, если вы пишете приложение RESTful, это нарушит ожидания «без побочных эффектов» для GET, поэтому каждый, кто преследует это решение, должен знать об этом нарушении конвенции. Я бы посоветовал либо найти другой способ, либо документировать его действительно, очень хорошо (по крайней мере) – romeara

Смежные вопросы