請求路徑@PathVariable與請求參數@RequestParam的區別


轉自:http://www.iteye.com/problems/101566;

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){}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM