基於SpringMVC中的路徑參數和URL參數實例
1、SpringMVC中的路徑參數就是指在路徑中添加參數,用於實現偽靜態是很好的。
2、路徑參數實現方式(一個Controller方法)
@RequestMapping(value="/page/{name}/{age}",method=RequestMethod.GET) public String getName(ModelMap map,@PathVariable("name") String name,@PathVariable("age") int age) { map.addAttribute("name",name); map.addAttribute("age",age); return "name"; }
3、創建name.jsp文件
<%@page pageEncoding="UTF-8"%> <html> <head> <meta charset="UTF-8"> <title>test</title> </head> <body> <div> 名字:${name}<br/> 年齡:${age} </div> </body> </html>
4、在瀏覽器請求這個controller
http://localhost:8080/page/xiaoming/18
需要註意的是,我這裡使用的編輯器是IDEA旗艦版
5、在controller中接受請求參數的實現(controller)
@RequestMapping(value="/result",method=RequestMethod.GET) public String resultParam(ModelMap map,@RequestParam String name,@RequestParam int age) { map.addAttribute("name",name); map.addAttribute("age",age); return "result"; }
6、創建result.jsp文件
<%@page pageEncoding="UTF-8"> <html> <head> <meta charset="UTF-8"> <title>測試</title> </head> <body> 名字:${name}<br/> 年齡:${age} </body> </html>
6、在瀏覽器中請求這個controller
http://localhost:8080/result?name=xiaoming&age=20
補充:spring mvc 之可選路徑參數
在spring mvc中,註解@PathVariable可以獲得路徑參數,但如果我想讓路徑參數可選呢?
@GetMapping({"/get/{offset}/{count}","/get/{offset}","/get/{offset}","/get"}) public void getGoods(@PathVariable(required = false) Integer offset,@PathVariable(required = false) Integer count){ System.out.println("offset:"+offset+"\ncount:"+count+"\n"); }
此時在這個例子中,offset和count都是可選的瞭,但是count存在時offset必須存在。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- 如何利用Spring MVC實現RESTful風格
- SSM VUE Axios詳解
- 詳解SpringBoot中@SessionAttributes的使用
- SpringBoot 工程中的異常處理方式
- Java基礎之Thymeleaf的簡單使用