Ale*_*eld 8 spring spring-mvc spring-annotations
我有这个控制器方法的Spring MVC应用程序.
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String addNumber(@RequestParam(value="number", required=false) Long number) {
...
return "redirect:/showAll/";
}
Run Code Online (Sandbox Code Playgroud)
在我的JSP中,我有一个标准的HTML表单,它将一个名为"number"的值发布到上面的控制器方法中.但是,如果我省略了值(不在文本字段中输入任何内容)并将数据POST到控制器,则在调用控制器方法之前,我的浏览器显示
HTTP Status 400 - Required Long parameter 'number' is not present
Run Code Online (Sandbox Code Playgroud)
尽管控制器方法注解明确规定-parameter为"数字" 不必需的.
有没有人对可能发生的事情略有了解?
谢谢.
PS:抛出的异常如下:
org.springframework.web.bind.MissingServletRequestParameterException: Required Long parameter 'number' is not present
Run Code Online (Sandbox Code Playgroud)
编辑:这是一个Spring 3.2.3.RELEASE错误(见这里).使用版本3.1.4.RELEASE我不再有这个问题了.
Yoh*_*age 16
我遇到了相同的情况,当请求中的参数出现空值时会发生这种情况.
也就是说,如果您的POST主体包含"number ="(空值),那么Spring会抛出此异常.但是,如果请求中根本不存在该参数,则它应该没有任何错误.
| 归档时间: |
|
| 查看次数: |
39273 次 |
| 最近记录: |