Spring文档说:
使用@RequestParam注释将请求参数绑定到a 控制器中的方法参数。
AFAIK,如果请求方法是GET,则请求参数是从查询字符串中检索的变量。它们也是请求方法为POST时从表单值检索的变量。我已经使用一个简单的JSP验证了这一点,该JSP通过方法request.getParameter(“key”)显示请求参数。
但在我看来,@ RequestParam仅适用于GET方法请求。它只能从查询字符串中获取值。
这是文档中的错误吗?有人可以引用一些文档来描述@RequestParam用于什么,它不能用于什么,以及它是如何填充的?
我可以将@RequestParam用于POST方法来获取表单值吗?如果我不能使用@RequestParam,我还能用什么?我试图避免调用request.getParameter(“key”)。
答案 0 :(得分:6)
它也适用于帖子。你可以发布你的方法体和你的HTML吗?
答案 1 :(得分:0)
是的,它也适用于post方法。您可以将@RequestParam
的方法属性称为RequestMethod=POST
。这是代码段
@RequestMapping(value="/register",method = RequestMethod.POST)
public void doRegister
(
@RequestParam("fname") String firstName,
@RequestParam("lname")String lastName,
@RequestParam("email")String email,
@RequestParam("password")String password
)
答案 2 :(得分:0)
您可以使用dispatch_sync(dispatch_get_main_queue(), {
self.capturePhoto.image = pickedImage
})
注释并绑定到整个对象,而不是绑定到单个表单值的@RequestParam
。但它应该与@ModelAttribute
或form
Spring的JSTL一起使用。
实施例: - 调用JSP-page的控制器,它应该将对象添加到Model:
bind
public String showUploadForm(Model model){
@RequestMapping(value="/uploadForm", method=RequestMethod.GET)
}
曲目标题*:
处理表单提交的控制器;
@RequestMapping(value =“/ uploadToServer”,method = RequestMethod.POST)
public String uploadToServer(@ModelAttribute(“artist”)艺术家艺术家,@ ModelAttribute(“track”)曲目曲目){....}
我在这里找到了使用@ModelAttribute注释的一个很好的解释 - krams915.blogspot.ca