SpringMVC---400錯誤The request sent by the client was syntactically incorrect ()__StringMVC

來源:互聯網
上載者:User
SpringMVC報錯資訊為The request sent by the client was syntactically incorrect ()
在資料繫結的時候一定要主意Controller方法中的參數名和jsp頁面裡的參數名字是否一致或者按照綁定的規範來寫,如果不一致,可能回報如下錯誤:  The request sent by the client was syntactically incorrect (). 從字面上理解是:用戶端發送的請求語法錯誤。實際就是springmvc無法實現資料繫結。 
隨便舉個例子說明: 
 <sf:form  method="post" commandName="person">    name:<sf:input path="name"/><sf:errors path="name"/><br />    pass:<sf:input path="pass"/><sf:errors path="pass" /><br />    age:<sf:input path="age"/><br />    email:<sf:input path="email"/><br />    <input type="submit" value="修改使用者" />    </sf:form>

@RequestMapping(value="/{name}/update" , method=RequestMethod.POST)public String update(@PathVariable String name1 ,Person person , BindingResult br){System.out.println("...");if(br.hasErrors())return "/update";persons.put(name1,person);return "redirect:/listPersonInfo";}


我表單中的path是name,而在Controller的update方法中卻為name1.
而我犯的錯誤是: 我在表單提交頁面加的校正  ,而在 Controller的update方法中 校正對象前沒有加@Validated,所以也會報這個錯誤。
所以Controller修改後應為:

@RequestMapping(value="/{name}/update" , method=RequestMethod.POST)public String update(@PathVariable String name ,@Validated Person person , BindingResult br){System.out.println("...");if(br.hasErrors())return "/update";persons.put(name1,person);return "redirect:/listPersonInfo";}




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.