Spring mvc中@RequestMapping 6個基本用法小結

來源:互聯網
上載者:User

標籤:

Spring mvc中@RequestMapping 6個基本用法小結  (2013-02-18 11:57:46) 轉載▼
  分類: Java筆記
小結下spring mvc中的@RequestMapping的用法。

1)最基本的,方法層級上應用,例如:
   Java代碼  
  1. @RequestMapping(value="/departments")  
  2. public String simplePattern(){  
  3.   
  4.   System.out.println("simplePattern method was called");  
  5.   return "someResult";  
  6.   
  7. }  

   則訪問http://localhost/xxxx/departments的時候,會調用 simplePattern方法了

2) 參數綁定
  Java代碼  
  1. @RequestMapping(value="/departments")  
  2. public String findDepatment(  
  3.   @RequestParam("departmentId") String departmentId){  
  4.     
  5.     System.out.println("Find department with ID: " + departmentId);  
  6.     return "someResult";  
  7.   
  8. }  

  
  形如這樣的訪問形式:

   /departments?departmentId=23就可以觸發訪問findDepatment方法了

3 REST風格的參數
  Java代碼  
  1. @RequestMapping(value="/departments/{departmentId}")  
  2. public String findDepatment(@PathVariable String departmentId){  
  3.   
  4.   System.out.println("Find department with ID: " + departmentId);  
  5.   return "someResult";  
  6.   
  7. }  

 
  形如REST風格的地址訪問,比如:
/departments/23,其中用(@PathVariable接收rest風格的參數

4 REST風格的參數綁定形式之2
   先看例子,這個有點象之前的:
Java代碼  
  1. @RequestMapping(value="/departments/{departmentId}")  
  2. public String findDepatmentAlternative(  
  3.   @PathVariable("departmentId") String someDepartmentId){  
  4.   
  5.     System.out.println("Find department with ID: " + someDepartmentId);  
  6.     return "someResult";  
  7.   
  8. }  


   這個有點不同,就是接收形如/departments/23的URL訪問,把23作為傳入的departmetnId,,但是在實際的方法findDepatmentAlternative中,使用
@PathVariable("departmentId") String someDepartmentId,將其綁定為
someDepartmentId,所以這裡someDepartmentId為23

5 url中同時綁定多個id
 Java代碼  
  1. @RequestMapping(value="/departments/{departmentId}/employees/{employeeId}")  
  2. public String findEmployee(  
  3.   @PathVariable String departmentId,  
  4.   @PathVariable String employeeId){  
  5.   
  6.     System.out.println("Find employee with ID: " + employeeId +   
  7.       " from department: " + departmentId);  
  8.     return "someResult";  
  9.   
  10. }  


   這個其實也比較好理解了。

6 支援Regex
  Java代碼  
  1. @RequestMapping(value="/{textualPart:[a-z-]+}.{numericPart:[\\d]+}")  
  2. public String regularexpression_r(  
  3.   @PathVariable String textualPart,  
  4.   @PathVariable String numericPart){  
  5.   
  6.     System.out.println("Textual part: " + textualPart +   
  7.       ", numeric part: " + numericPart);  
  8.     return "someResult";  
  9. }  


   比如如下的URL:/sometext.123,則輸出:
Textual part: sometext, numeric part: 123.

Spring mvc中@RequestMapping 6個基本用法小結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.