【springmvc】@RequestParam详解以及加与不加的区别
生活随笔
收集整理的這篇文章主要介紹了
【springmvc】@RequestParam详解以及加与不加的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
以前寫controller層的時候都是默認帶上 @RequestParam 的, 今天發現不加@RequestParam 也能接收到參數
下面我們來區分一下加與不加的區別
這里有兩種寫法
@RequestMapping("/list")public String test(@RequestParam Long parentId) {} @RequestMapping("/list")public String test( Long parentId) {}第一種必須帶有參數
第二種 可帶參數也可不帶參數 就是說你輸入 localhost:8080/list 以及 localhost:8080/list?parentId=? 方法都能執行
當然你也可以設置 @RequestParam 里面的required為false(默認為true 代表必須帶參數) 這樣就跟第二種是一樣的了
如下:
@RequestMapping("/list")public String test(@RequestParam(required=false) Long parentId) {.....}當然你還可以設置里面的defaultValue的屬性
@RequestMapping("/list")public String test(@RequestParam(defaultValue="0") Long parentId) {... }這樣在地址里面也可以不帶參數,如果帶了參數會接收,不帶參數會默認為0
里面還有一個value屬性也講一下, 前面所有的方法 傳入的參數必須為parentId 才能接收到值
但是如果你加了value屬性
@RequestMapping("/list")public String test(@RequestParam(value="id") Long parentId) {..}這樣會用id 代替parentId 也就是說你地址里面傳入的參數名稱為id localhost:8080/list?id=? 這種
總結
以上是生活随笔為你收集整理的【springmvc】@RequestParam详解以及加与不加的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工业用微型计算机笔记(2)-二进制有符号
- 下一篇: s3c2440移植MQTT