我正在查看一些Spring 3 MVC控制器代码,我发现@RequestParam用于某些参数而不是其他参数。不使用它的示例:
@RequestMapping(value = "/experiments", method = RequestMethod.GET)
public String getExperimentsPage(ExperimentSearchCriteria criteria, Map<String, Object> model) {
// method body here
}
何时不需要@RequestParam(或类似的参数指定注释)?
答案 0 :(得分:4)
好问题,我一直在想这个,直到我发现它在文档中被提到:
请注意,使用@RequestParam是可选的,例如设定它 属性。默认情况下,任何参数都是简单的值类型,如 由BeanUtils#isSimpleProperty确定,并且不被任何解析 其他参数解析器,被视为使用注释 @RequestParam。
https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-ann-requestparam
大部分时间,除非我的方法参数名称与请求参数不同,否则我不会指定此项,或者,如果值是可选的,我将需要使用required=false
。
答案 1 :(得分:1)
我不确定您的问题,但是当您想要将方法参数与请求所持有的参数绑定时,您只需要@RequestParam
。
我认为这很清楚here。
答案 2 :(得分:0)
@RequestParam用于传递查询参数。
示例:http://localhost:8080/employee/get?status=ACTIVE
我们可以通过以下代码获取状态
@RequestParam(value =&#34; status&#34;)字符串状态
我们有一些属性,如required,defaultValue等。如果你提供如下面的代码行中提到的required = false,那么status参数在URL中不是必需的
@RequestParam(值=&#34;状态&#34;,需要=假)
类似