各類異常狀況處理 download:JavaEE在線就業班2.0php
一、能夠對傳入參數指定參數名前端
Java代碼 app
@RequestParam String inputStr ide
// 下面的對傳入參數指定爲aa,若是前端不傳aa參數名,會報錯 ui
@RequestParam(value="aa") String inputStr get
錯誤信息:input
HTTP Status 400 - Required String parameter 'aa' is not presentit
二、能夠經過required=false或者true來要求@RequestParam配置的前端參數是否必定要傳class
Java代碼 thread
// required=false表示不傳的話,會給參數賦值爲null,required=true就是必需要有
@RequestMapping("testRequestParam")
public String filesUpload(@RequestParam(value="aa", required=true) String inputStr, HttpServletRequest request)
三、若是用@RequestMapping註解的參數是int基本類型,可是required=false,這時若是不傳參數值會報錯,由於不傳值,會賦值爲null給int,這個不能夠
Java代碼
@RequestMapping("testRequestParam")
public String filesUpload(@RequestParam(value="aa", required=true) String inputStr,
@RequestParam(value="inputInt", required=false) int inputInt
,HttpServletRequest request) {
// ......省略
return "index";
}
解決方法:
「Consider declaring it as object wrapper for the corresponding primitive type.」建議使用包裝類型代替基本類型,如使用「Integer」代替「int」
————————————————