2012-02-24 47 views
1

對於那些瞭解Spring的人來說,這可能是一個簡單的問題,但由於我是新手,因此無論如何我都會問這個問題。春季註解中的大括號

我經歷了一些春天代碼,我無法理解的代碼本節中的以下各項

@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 /路徑」,列表()方法將被調用,但我無法理解前面的註釋。這是什麼意思?

此外,下一行說@PathVariable註釋可以通過正則表達式

@RequestMapping(value="/{id}") 
public void show(@PathVariable("id:[\\d]*") String idl) {...} // will match only numberic IDs 

的限制是什麼意思?

回答

2

16.3.2.2 URI Template Patterns

URI模板可以用於方便地訪問一個URL的選定部分在@RequestMapping方法。

例如,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將綁定42id

+0

明白了。謝謝。 – CodeBlue 2012-02-24 20:16:13