Java 在提交请求时,控制总是选择GET方法,而不是POST方法
我正在尝试使用Spring3Hibernate3和tiles2Java 在提交请求时,控制总是选择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
@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";
}
x-www-form-urlencode
格式发送数据我认为您可能打开了多个表单元素…检查您的tiles布局文件,删除多个表单元素,然后尝试发布。
因为同样的解决方案也解决了我的问题。请展示您是如何处理post请求的。如何发送您的请求?使用AJAX还是其他方式?分享一些代码我不是用Ajax发送的现在我用@RequestBody发送了,删除了我的GET方法,现在它给出的405个'Request method'GET'不受支持。我想在发出POST请求时一定有问题。你能告诉我你是怎么做的吗?名字:Email-ID:Add-over是我的jsp代码片段,我从中发出POST请求。