Spring MVC 中可选的 POST 参数?
以下代码:
@RequestMapping(method = RequestMethod.POST)
public ModelAndView editItem(String name, String description)
但是,有时没有传入描述(这是一个比真实示例更简单的示例),我想将描述设为可选,也许可以通过填写默认值(如果没有传入)来填充。
我有 知道怎么做吗?
多谢!
贾森
I have the following code:
@RequestMapping(method = RequestMethod.POST)
public ModelAndView editItem(String name, String description)
However, sometime description is not passed in (this is a simplified example than the real one), and i would like to make description optional, perhaps by filling in a default value if none is passed in.
Anyone have any idea how to do that?
thanks a lot!
Jason
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您使用的是 Spring MVC 3.0 或更高版本,则只需设置
@RequestParam
的defaultValue
参数:在 Spring MVC 2.5 中,我建议将 value 标记为
required = false< /code> 并手动检查其值是否为 null:
另请参阅 @RequestParam注解的对应文档。
JDK 8 和 JDK 的更新 Spring 4.1+:现在你可以像这样使用
java.util.Optional
:If you are using Spring MVC 3.0 or higher then just set
defaultValue
parameter of@RequestParam
:In Spring MVC 2.5, I suggest to mark value as
required = false
and check their value against null manually:See also corresponding documentation about @RequestParam annotation.
UPDATE for JDK 8 & Spring 4.1+: now you could use
java.util.Optional
like this:不要使用
@RequestParam
作为可选参数,而是采用org.springframework.web.context.request.WebRequest
类型的参数。例如,注意:请参阅下文(默认值和必需),了解在不使用 WebRequest 参数的情况下解决此问题的方法。
Instead of using
@RequestParam
for the optional parameters, take a parameter of typeorg.springframework.web.context.request.WebRequest
. For example,Note: See below (defaultValue and required) for a way to solve this without using a WebRequest parameter.