SpringMVC---400错误The request sent by the client was syntactically incorrect ()

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";
	}




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值