Java 在提交请求时,控制总是选择GET方法,而不是POST方法

Java 在提交请求时,控制总是选择GET方法,而不是POST方法,java,spring,hibernate,tiles,Java,Spring,Hibernate,Tiles,我正在尝试使用Spring3Hibernate3和tiles2 @RequestMapping(value = "/capturedetails", method = RequestMethod.GET) public String getcapturedetails(Model model, HttpSession session, HttpServletRequest request) { Customer customer=new Custo

我正在尝试使用Spring3Hibernate3和tiles2

   @RequestMapping(value = "/capturedetails", method = RequestMethod.GET)
   public String getcapturedetails(Model model, HttpSession session,
                 HttpServletRequest request) {

Customer customer=new Customer();
          model.addAttribute("customer", customer);
          return "capturedetails";
   }

   @RequestMapping(value = "/capturedetails", method = RequestMethod.POST)
   public String addcustomer(
                 @ModelAttribute("Customer") Customer customer, Model model,
                 HttpSession session, HttpServletRequest request) {

                       custBarcodeService.saveCustomer(customer);

                       model.addAttribute("customer ", new Customer());
                       return "capturedetails";
   }
在提交请求控制时,它总是选择GET方法,而不是POST。。。
我如何解决这个问题?

我过去也遇到过类似的问题。在我的例子中,我试图从带有
json
主体的邮递员向在控制器端接收
x-www-form-urlencoded
格式数据的端点发出POST请求

请注意,如果在post控制器方法中使用
@modeldattribute
,它将以
x-www-form-urlencoded
格式接收数据。如果是这种情况,那么可能的解决方案是

  • 使用
    @RequestBody
    ,使post请求方法接收
    json
    数据:

    @RequestMapping(value = "/capturedetails", method = RequestMethod.POST)
    public String addcustomer(@RequestBody Customer customer, Model model,
             HttpSession session, HttpServletRequest request) {
    
                   custBarcodeService.saveCustomer(customer);
    
                   model.addAttribute("customer ", new Customer());
                   return "capturedetails";
    }
    
  • 从rest客户端以
    x-www-form-urlencode
    格式发送数据


  • 我认为您可能打开了多个表单元素…检查您的tiles布局文件,删除多个表单元素,然后尝试发布。
    因为同样的解决方案也解决了我的问题。

    请展示您是如何处理post请求的。如何发送您的请求?使用AJAX还是其他方式?分享一些代码我不是用Ajax发送的现在我用@RequestBody发送了,删除了我的GET方法,现在它给出的405个'Request method'GET'不受支持。我想在发出POST请求时一定有问题。你能告诉我你是怎么做的吗?名字:Email-ID:Add-over是我的jsp代码片段,我从中发出POST请求。