Spring MVC Post Request
我有类似的东西
@RequestMapping("/property") @ResponseBody public String property(@RequestBody UserDto userDto ) { System.out.println(userDto.getUsername()); System.out.println(userDto.getPassword()); return "Hello"; }
在我的控制器中。
但是当我发帖时,它给了我一个错误
在我的HTML中。 我哪里错了。
发布表单时,应使用@ModelAttribute
注释。
将您的代码更改为:
@RequestMapping("/property") @ResponseBody public String property(@ModelAttribute("userDto") UserDto userDto ) { System.out.println(userDto.getUsername()); System.out.println(userDto.getPassword()); return "Hello"; }
你的HTML / JSP可以是:
当您将类似JSON或XML对象(或原始数据,如byte [])的内容传递给HTTP POST时,请求正文。 当您发布表单数据时,将为您处理和解析该表单数据。 最简单的方法是使用MVC表单:使用命令对象的表单代码,然后您将只接收一个命令对象,其中包含映射到该对象的表单中的所有条目。
请求映射默认方法是GET。 必须使用RequestMapping指定url方法。
@RequestMapping(value="/property",method=RequestMethod.POST)
一种方式是Jeevan建议的,或者你可以修改你的spring来接受它,就像,
UserDto userDto; @RequestMapping("/property") @ResponseBody public String property(@RequestParam("username") userDto.username, @RequestParam("password") userDto.password) { System.out.println(userDto.getUsername()); System.out.println(userDto.getPassword()); return "Hello"; }
当然,如果你在课堂上暴露属性,这不是一种优雅的做法。
如果你得到http错误500? 然后尝试使用
@RequestMapping(value = "/property", method = RequestMethod.POST )
如果有其他错误请注明。