Spring mvc 弹簧注释中大括号中的值
对于那些了解Spring的人来说,这可能是一个简单的问题,但由于我是一个新手,我还是会问这个问题 我正在阅读一些Spring代码,但无法理解以下内容-Spring mvc 弹簧注释中大括号中的值,spring-mvc,annotations,Spring Mvc,Annotations,对于那些了解Spring的人来说,这可能是一个简单的问题,但由于我是一个新手,我还是会问这个问题 我正在阅读一些Spring代码,但无法理解以下内容- @RequestMapping(value="/{id}") public void show(@PathVariable("id") long id, Model model) {...} 这段代码的注释是-“当使用URI模板时,使用@PathVariable注释访问参数 现在早些时候,我遇到了这样的代码 @RequestMappin
@RequestMapping(value="/{id}")
public void show(@PathVariable("id") long id, Model model) {...}
这段代码的注释是-“当使用URI模板时,使用@PathVariable注释访问参数
现在早些时候,我遇到了这样的代码
@RequestMapping(value="/url/path")
public String list(Model model) {...}
通过这一点,我了解到每当遇到url“/url/path”时,都会调用list()方法,但我无法理解前面的注释。它是什么意思
另外,下一行说@PathVariable注释可以通过正则表达式进行限制
@RequestMapping(value="/{id}")
public void show(@PathVariable("id:[\\d]*") String idl) {...} // will match only numberic IDs
这是什么意思?
URI模板可用于方便地访问@RequestMapping
方法中URL的选定部分
例如,URI模板http://www.example.com/users/{userId}
包含变量userId
。将值fred
赋给变量会产生http://www.example.com/users/fred
在Spring MVC中,可以对方法参数使用@PathVariable
注释将其绑定到URI模板变量的值:
因此,在您的示例中:
@RequestMapping(value="/{id}")
public void show(@PathVariable("id") long id, Model model) {...}
这将提取由{id}
表示的URL部分,并将其绑定到id
方法参数,例如路径/42
将42
绑定到id