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

Tôi muốn chuyển hướng đến ánh xạ yêu cầu "anotherUrl" có phương thức yêu cầu là POST.Cách chuyển hướng đến POST trong Spring MVC

Trả lời

9

Trong phương pháp điều khiển lò xo có thể Cả Điều đó có nghĩa nó có thể được GET cũng như POST ... Trong kịch bản của bạn,

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

Bạn muốn điều này GET bởi vì bạn đang chuyển hướng đến nó ... do đó giải pháp của bạn sẽ

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

Chú ý: đây nếu phương pháp của bạn chấp nhận một số thông số yêu cầu của @ requestParam, sau đó trong khi chuyển hướng bạn phải vượt qua họ Đơn giản chỉ cần tất cả các thuộc tính theo yêu cầu của phương pháp này phải gửi trong khi chuyển hướng ...

Cảm ơn bạn

+0

ràng buộcĐã bị mất theo cách này. Bất kì giải pháp nào.? – masT

+0

Không có kết quả ràng buộc nào bị mất. Ở đây chúng ta chỉ nói phương thức xử lý để chấp nhận cả phương thức GET và POST. –

+0

Trong khi từ quan điểm kỹ thuật, điều này sẽ hoạt động, nếu bạn đang viết một ứng dụng RESTful, điều này sẽ vi phạm "không có tác dụng phụ" kỳ vọng cho GET - vì vậy bất cứ ai theo đuổi giải pháp này, hãy lưu ý đến sự phá vỡ trong quy ước. Tôi khuyên bạn nên tìm một cách khác hoặc ghi lại nó thực sự, thực sự tốt (ở mức tối thiểu) – romeara

Các vấn đề liên quan