前言
在SpringMvc后台進行獲取數據,一般是兩種。
1.request.getParameter(“參數名”)
2.用@RequestParam注解獲取
@RequestMapping("/")
public String Demo1(@RequestParam String lid){
System.out.println("----"+lid);
return null;
}
前台頁面 <input type="text" name="lid" /> <!-- 這時輸出為10 --> Console輸出界面 ----10
springmvc會自動根據參數名字來注入,所以要名字一致,不然不會注入
參數名字不一致
@RequestMapping("/")
public String Demo1(@RequestParam(name="lid") String id){
System.out.println("----"+id);
return null;
}
前台頁面
<input type="text" name="lid" /> <!-- 這時輸出為10 -->
Console輸出界面
----10
參數名字不一致的話,需要在@RequestParam后面指定參數名字,才能為后面的參數進行賦值。
設置默認值
@RequestMapping("/")
public String Demo1(@RequestParam(name="lid",defaultValue="ste") String id){
System.out.println("----"+id);
return null;
}
前台頁面
Console輸出界面
----ste
注意事項
@RequestMapping("/")
public String Demo1(@RequestParam(name="lid") int id){
System.out.println("----"+id);
return null;
}
前台頁面
<input type="text" name="lid" /> <!-- 這時輸出為10 -->
Console輸出界面
----10
如果要@RequestParam為一個int型的數據傳值,假如前端並未輸入,那么將會為int型的數據賦值為null。顯然,這是不允許的,直接報錯。
可以通過required=false或者true來要求@RequestParam配置的前端參數是否一定要傳
// required=true,則參數必須要傳
@RequestMapping("/")
public String Demo1(@RequestParam(name="lid",required=true) int id){
System.out.println("----"+lid);
return null;
}`
如果required為false,那么默認為參數賦值為null
