關於spring mvc傳參錯誤 Required String parameter 'xxxxx' is not present
阿新 • • 發佈:2018-12-10
controller如下:
1 @RequestMapping(value=("/login"), method=RequestMethod.POST) 2 public ModelAndView getUser(@RequestParam("loginName")String loginName,@RequestParam("passWord")String passWord,ModelAndView mv){ 3 User user1=userService.checkLogin(loginName, passWord); 4 System.out.println(user1);5 if(user1!=null){ 6 mv.setViewName("redirect:/index"); 7 } 8 else{ 9 mv.setViewName("forward:/userList"); 10 } 11 return mv; 12 }
html登陸程式碼如下:
<div class="container"> <form class="form-signin" method="post" action="login"> <h2 class="form-signin-heading">Please sign in</h2> <!-- <label for="loginName" class="sr-only">LoginName</label> --> <input type="text" id="loginName" class="form-control" placeholder="LoginName" required autofocus> <!-- <label for="passWord" class="sr-only">PassWord</label>--> <input type="password" id="passWord" class="form-control" placeholder="passWord" required> <input class="btn btn-lg btn-primary btn-block" type="submit" value="sign in"/> </form> </div>
產生警告: Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required String parameter 'loginName' is not present]
檢查程式碼發現引數無法傳遞,將input標籤的id該為name
如下:
name 屬性規定 input 元素的名稱。
name 屬性用於對提交到伺服器後的表單資料進行標識,或者在客戶端通過 JavaScript 引用表單資料。
註釋:只有設定了 name 屬性的表單元素才能在提交表單時傳遞它們的值。