我正在尝试使用spring3 hibernate3和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 ... 我该如何解决这个问题?
答案 0 :(得分:1)
过去我遇到过类似的问题。在我的情况下,我试图从邮递员发出POST请求,其中json
正文到端点,该端点在控制器端接收x-www-form-urlencoded
格式的数据。
请注意,如果您在帖子控制器方法中使用@ModelAttribute
,则会以x-www-form-urlencoded
格式接收数据。如果是这种情况,那么可能的解决方案就是
使用json
使帖子请求方法接收@RequestBody
数据:
@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
格式发送数据
答案 1 :(得分:0)
我认为你可能有多个表单元素打开...检查你的图块布局文件并删除多个表单元素,然后尝试发布。 因为同样的解决方案也解决了我的问题。