spring mvc 数据绑定问题 提交表单提示HTTP status 400, The request sent by the client was syntactically incorrect

我们在spring mvc 中controller方法中的参数,spring mvc会自动为我们进行数据绑定。

spring mvc 方法中不一定要全部都有 form表单提交的属性, 也可以有 请求属性中 没有的参数(这时候只会把对应不上的参数设为null),这两种情况都不会报错。

但是有几种情况会报错,可能会提示HTTP status 400,  The request sent by the client was syntactically incorrect,而且此时如果加断点你会发现根本进不了controller,但是浏览器中url的路径是正确的。

会出现错误的情况如下:

错误(1) 前台请求的参数在方法中有对应的参数名,但是无法转成对应的类型,比如form中 有<input name="id" type="text" />,方法public String aa(int id){ }
, 当在文本框中输入“wwwwee”等非整形字符时,就会出错。特别提示的是,java Date类型,在form表单中必须按照 “2016-10-10 12:10:12”  的格式走(注意中间的空格,最少要写到时,即2016-10-10 12)。在form的checkbox多选框对应 java的数组,不能对应List。

错误(2)方法中参数名重复。public String aa(User user,String name){   }, User这个类中有name属性,现在就导致 spring mvc 不知道绑定哪各属性。

时间: 2024-10-28 21:08:49

spring mvc 数据绑定问题 提交表单提示HTTP status 400, The request sent by the client was syntactically incorrect的相关文章

spring mvc 防止重复提交表单的两种方法,推荐第二种

第一种方法:判断session中保存的token 比较麻烦,每次在提交表单时都必须传入上次的token.而且当一个页面使用ajax时,多个表单提交就会有问题. 注解Token代码: package com.thinkgem.jeesite.common.repeat_form_validator; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.ann

mvc-用Spring MVC 提交表单信息为什么报400的错误

问题描述 用Spring MVC 提交表单信息为什么报400的错误 1C 具体情况如下,我有一个实体类user已声明getset方法,而且表单里面的name写的也和实体类的成员变量一样,在controller里面的参数是User user,当我提交的时候页面出现400错误.网上查了好久,我也测试了,用requestMapping(value=""user"" required=false)测试了,这样就包的500错误,后来有改为requestMapping(valu

Nodejs下用submit提交表单提示cannot post错误的解决方法_node.js

<span style="font-size:18px;"><form action="/registOK" method="get"> <p>用户名:<input type="text" id="userName" name="userName"></p> <p>密码:<input type="pa

VBScript提交表单提示-对象不支持此属性或方法_vbs

今天因需要客户端得用VBScript对表单进行处理.提交,然而在提交表单时老是出错,错误信息为:"对象不支持此属性或方法".后查资料得知:  引用内容 除了表单提交按钮,页面中不允许再有一个表单项名字为submit 改下名字,果然没问题了,汗. 以前用Javascript都没碰过这样的问题:Dreamweaver插入按钮时名字默认的都是Submit[n],以后用VBScript得注意改名! 

解决jquery submit()提交表单提示:f[s] is not a function_jquery

jquery submit()无法提交表单 报错:f[s] is not a function, js submit()无法提交表单 报错:document.getElementByIdx_x(...).submit is not a function 这2个错让人很无奈啊,语法没有任何错误,怎么能报错呢? 因为以前重来没有遇到过,这次是在改别人的代码,回头看了看代码,我靠原来有个按钮的name="submit",把它删掉就能正常提交表单了. 为什么呢?应该是一个type="

ASP.NET MVC 使用 Ajax 提交表单,后台接收后值为 null?

问题描述 @using(Ajax.BeginForm(ajaxopts)){@Html.LabelFor(model=>model.comment.FileId,htmlAttributes:new{@class="control-labelcol-md-2"})<inputclass="form-controltext-boxsingle-line"data-val="true"data-val-number="Thefi

提交表单时指定编码

1,提交表单时可以指定编码吗? 准确地说:提交表单时可以指定请求要素的编码吗? 如果是使用html的form表单是不行的. 下面是我做的实验,html如下:   不仅head中指定了编码为gbk,而且form属性accept-charset 也指定为gbk,但是提交表单时,后台获取到的request charset却是"UTF-8",   chrome和火狐浏览器中都是一样. 结论: (a)html的form表单标签中无法指定request的编码. (b)提交的请求编码是UTF-8  

ajax spring-ajax方式提交表单,spring mvc的Controller中怎么不能返回视图

问题描述 ajax方式提交表单,spring mvc的Controller中怎么不能返回视图 ajax请求到springmvc的Controller后,请求成功后为什么不跳转到jsp?就是这句:return new ModelAndView(""/sys/selectAccount"");不用ajax请求就可以 解决方案 使用ajax提交的请求 控制器中的重定向 或者请求转发都是无效的 ajax要跳转页面 只能把你要跳转的页面发送到前端 前端ajax的回调函数使用前

java web提交表单 怎么没action到servelet 而是提示我下载文件?

问题描述 java web提交表单 怎么没action到servelet 而是提示我下载文件? <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "ht