1. 程式人生 > >Spring MVC——The request sent by the client was syntactically incorrect ()的原因與解決辦法

Spring MVC——The request sent by the client was syntactically incorrect ()的原因與解決辦法

這句話的意思是客戶端傳送的請求語法錯誤,從而導致springmvc無法實現資料繫結。 

而這種錯誤呢,大部分是由於引數格式不正確

下面舉一個例子來說明:

<form:form id="seller_changepassword_form" modelAttribute="accountmodel"
action="http://localhost:8080/Takout/views/html_jsp/test" method="get">
					
	<input id="seller_new_password" style="margin-top:10px;margin-left:10px;height:30px;"type="text"autocomplete="off"value=""></input>
    <button class="info_submit" id="seller_password_submit"  type="submit">提交</button>

</form:form>

controller如下:

 @RequestMapping(value ="views/html_jsp/test",produces = "application/json;charset=utf-8",method ={RequestMethod.GET})
 public   ModelAndView   change_sellerpassword(HttpServletRequest request, @RequestParam("seller_new_password") int seller_new_password) {
	ModelAndView mv = new ModelAndView();
	mv.addObject("seller_new_password",seller_new_password);

}

從上面的form表單我們可以看到,input框輸入新的密碼,如果輸入的是數字,那麼將沒有問題。

但是如果密碼帶有字元,如“123456789,.”這樣的,那麼因為controller中接收的引數宣告的是int型別的

如下圖

這樣因為型別不匹配,提交之後就會出錯。

因此這裡必須注意一下,提交的資料與入參宣告需要是同一個型別的,否則就報錯。

另外,還有一點需要注意

 

上面的這個引數的名稱必須和jsp頁面提交的引數名字一樣,否則將匹配不到。