基於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。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀: