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

İstek yöntemi POST olan "anotherUrl" istek eşlemesine yeniden yönlendirmek istiyorum. bahar Kontrolör yöntemdeİlkbaharda POST'ye yeniden yönlendirme MVC

cevap

9

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

Sen ... buna yönlendirme çünkü bu GET istiyorum, buna da POST ... senin Senaryo ise gibi GET olabilir demektir Yani ikisi de olabilir dolayısıyla çözüm

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

Dikkat olacaktır: burada yöntem, sonra @ requestParam bazı istek parametreleri kabul eğer onları bu yöntemle gerekli Basitçe tüm özelliklerini geçmelidir yönlendirme ederken gerekir yeniden yönlendirirken yolla ...

Teşekkür ederiz

+0

bindingResults bu şekilde kayboluyor. Herhangi bir çözüm.? – masT

+0

Hiçbir ciltleme sonucu kaybolacak. Burada sadece GET ve POST yöntemini kabul etmek için tanıtıcı yöntemini açıklıyoruz. –

+0

Teknik açıdan bakıldığında bu işe yarayacaktır, eğer RESTful bir uygulama yazıyorsanız, bu GET için "yan etki" beklentisini ihlal eder - bu çözümü takip eden herkes, bu sözleşmeden haberdar olun. Başka bir yol bulmalarını ya da belgelemelerini tavsiye ederim, gerçekten çok iyi (en azından) – romeara