@RequestParam,名称与值属性
问题描述:
我正在阅读Spring MVC中的@RequestParam
注释的documentation。@RequestParam,名称与值属性
名称和值属性有什么区别?
文档说:
值:别名名称()。
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"
是请求参数结合的名称,而String param1
是绑定到对象。
我怎么能在这里使用name
属性?
答
两者的功能都与只是不同的替代命名相同。无论你喜欢使用你将获得相同的功能。任何一个都可以使用,但是如果你同时使用它们,确保为它们使用相同的值,否则你会得到异常。
你被允许使用这样的:
@RequestParam(value="param1", required=true)
@RequestParam(name="param1", required=true)
@RequestParam(value="param1", required=true, name="param1")
但不是这样的:
@RequestParam(value="param1", required=true, name="param3")
你觉得**别名名称**手段..这是非常明显的imho。 –
请看看编辑 – Johan