【轉載:http://blog.csdn.net/mahoking】
普通URL提交參數
該格式url為:url.do?param1=mahc¶m2=8888.00
需要在上文中的HelloController對象添加方法如下:
1 /** 2 * Spring MVC URL提交參數 3 * @param name 4 * @return 5 */ 6 @RequestMapping("/param") 7 public ModelAndView getInfo(@RequestParam("name") String name){ 8 9 String str = name + " Spring MVC示例"; 10 return new ModelAndView("message", "str", str); 11 }
訪問該方法的url格式為:param?name=hoking(Get方式)。該方式是很普通的提交方式。用注解@RequestParam綁定請求參數a到變量a當請求參數a不存在時會有異常發生,可以通過設置屬性required=false解決,例如: @RequestParam(value="a", required=false)。如上文中,通過name獲取提交的參數。
RESTful風格的URL參數
接下來我們了解一下Restful風格。HTTP請求方法在RESTful Web 服務中的典型應用資源GET PUT POST DELETE一組資源的URI,比如http://example.com/resources/單個資源的URI,比如http://example.com/resources/142。更多信息請閱讀如下文章。
具體的實現需要在上文中的HelloController對象添加方法如下:
1 /** 2 * Spring MVC 支持RESTful風格的URL參數 3 * 4 * @return 5 */ 6 @RequestMapping("/index/{username}") 7 public String getMessage(@PathVariable("username") String username){ 8 System.out.println(username); 9 return "message"; 10 }
上面使用了@PathVariable。PathVariable與RequestParam的不同在於。
使用@RequestMapping URI template樣式映射時,即 someUrl/{paramId}, 這時的paramId可通過@Pathvariable注解綁定它傳過來的值到方法的參數上。
訪問該方法的url格式為:index/mahoking。@PathVariable是用來獲得請求url中的動態參數的,十分方便。mahoking即是username的動態值。
上文中的getMessage()方法,返回String對象,該值代表頁面的跳轉地址,不包含擴展名(后綴名)。本例中為message.jsp頁面。