概念:
@RequestParam有三個屬性,分別是@RequestParam(value="",defaultValue="",required="")
– value:參數名
– required:是否必須。默認爲 true, 表示請求參數中必須包含對應的參數,若不存在,將拋出異常
-defaultValue:指定參數的默認值
應用場景:
一、@RequestParam用來映射參數,方便後端收集前端傳來的參數。當方法參數的類型爲基本類型(包括它們的封裝類型)和String類型時,@RequestParam可省略不寫,SpringMVC可以自己完成映射。
但是當方法參數不是以上簡單類型時,比如 public void uploadPic(@RequestParam(required=false) MultipartFile pic)就必須使用@RequestParam,否則SpringMVC無法自動完成映射。或者講MultipartFile pic作爲屬性封裝到一個對象中,通過SpringMVC的OGNL調用屬性的set方法完成映射。
二、當前端傳入參數和方法形參名字不一致時,SpringMVC無法自動辨識完成映射。
eg:public String Demo1(@RequestParam(value="lid") String id)
三、設置默認值。
比如 public String Demo1(@RequestParam(required="false") int age),雖然該項參數不必需,這時前端會傳來null,而int不是對象類型,所以沒有null值。這就需要將int 改成Integer,或者:
public String Demo1(@RequestParam(required="false",defaultValue="0") int age)
總結:
@RequestParam 是用來在SpringMVC無法自動映射請求參數時,程序員手動完成做些設置以完成映射
* value值 即請求參數名
* required 該參數是否必需。默認爲true
* defaultValue請求參數的默認值