我正在阅读Spring MVC中@RequestParam
注释的documentation。
名称和值属性有什么区别?
文档说:
value:name()的别名。
name:要绑定的请求参数的名称。
名称()的别名是什么意思?
假设你有:
http://localhost:8080/springmvc/hello/101?param1=10¶m2=20
public String getDetails(
@RequestParam(value="param1", required=true) String param1,
@RequestParam(value="param2", required=false) String param2){
...
}
例如,value="param1"
是要绑定的request-parameter的名称,而String param1
是要绑定的对象。
我如何在此处使用name
属性?
答案 0 :(得分:13)
两者的功能相同,只是不同的替代命名。无论您喜欢使用哪种,您都将获得相同的功能。可以使用任何一个,但是如果你同时使用它们,请确保为它们使用相同的值,否则你将获得异常。
您可以这样使用:
@RequestParam(value="param1", required=true)
@RequestParam(name="param1", required=true)
@RequestParam(value="param1", required=true, name="param1")
但不是这样:
@RequestParam(value="param1", required=true, name="param3")