http://localhost:8080/Springmvc/user/page.do?pageSize=3&pageNow=2
你能夠把這地址分開理解,其中問號前半部分:http://localhost:8080/Springmvc/user/page.do 這個就是路徑,是你的請求url,而若是這個路徑上有數據匹配,用的就是@PathVariable 如
@RequestMapping(value="/page{pageNo}.do")
public String page(@PathVariable int pageNo){}
【注意:看下這地方的@RequestMapping的地址,對照我上面說的路徑】
而問號的後面部分就是請求參數部分,是要向請求路徑提交的參數信息,用的就是@RequestParam ,對於這種參數,若是你要用的話,代碼應該以下:
@RequestMapping(value="/page.do")
public String page(@RequestParam int pageSize,@RequestParam int pageNow){}
【注意:這個代碼的RequestMapping地址只須要/page.do就行】
其實你只要把什麼叫請求路徑,什麼叫請求參數分清楚,也就能理解@PathVariable和@RequestParam
我再舉個例子,就拿你這個問題在iteye上的地址爲例,http://www.iteye.com/problems/101566 這個若是對應sprimgmvc裏面,想獲取問題編號101566,由於這個地址直接就是請求路徑,是一個url,因此代碼中用的應該是@PathVariable,以下:
@RequestMapping(value="/problems/{problemId}")
public String showProblem(@PathVariable int problemId){}mvc