SpringMVC form 表单提交报400错误
错误代码:
HTTP Status 400 -
type Status report
message
description The request sent by the client was syntactically incorrect.
Apache Tomcat/7.0.47

原因:
400 请求出错
由于语法格式有误,服务器无法理解此请求。不作修改,客户程序就无法重复此请求。
在 SpringMVC 中的 Action 中处理前台 ajax 请求传过来的 json 数据直接转成对应的实体类时出错:
400 Bad Request,后台也不报错,400指的的是请求无效(请求有语法问题或者不能满足请求)。
解决办法:
检查实体类的 javabean 里边的类型是否和 springmvc form 的 form 表单名是否一致。
我的错误原因是两个关联的实体类导致在 form 表单中 name 名称不一致:
Employee.java
private Integer id;
private String lastName;
private String email;
private int gender;
private Department department; //无参构造方法以省略 //有参构造方法以省略 //setter 和 getter 方法以省略
Department.java
private Integer id;
private String departmentName; //无参构造方法以省略 //有参构造方法以省略 //setter 和 getter 方法以省略
form 表单:
<!--
可以通过 modelAttribute 属性指定绑定的模型属性,
若没有指定该属性,则默认从 request 域对象中读取 command 的表单 bean,
如果该属性值也不存在,则会发生错误
-->
<form:form action="emp-save" method="post" modelAttribute="employee">
<!-- path 属性对应 HTML 表单标签的 name 属性 -->
LastName:<form:input path="lastName"/> <br>
Email:<form:input path="email"/> <br>
Gender:<form:radiobuttons path="gender" items="${genders}"/> <br>
Department:<form:select path="department" items="${dapartments}" itemLabel="departmentName" itemValue="id"></form:select><br>
<input type="submit" value="Submit">
</form:form>
把 path="department" 改为 path="department.id"
到此,我的问题就已经解决。欢迎各位指正
SpringMVC form 表单提交报400错误的更多相关文章
- js 记一次带时间的表单提交报400错误
写一个功能的时候,表单里不填时间提交的时候,数据就正常传到后台了,一填上时间就报400错误,看了后台时间的处理也没问题,看了前端时间控件返回的格式也对,但是就是一直报错, 把提交的数据打印出来也没发现 ...
- Java入门到精通——调错篇之EasyUI+SpringMVC Form表单提交到Contorller中文字出现乱码
一.错误现象. 界面Post提交到Contorller的时候在Contorller中出现乱码. 二.问题解决. 在Web.xml下加入以下代码就可以解决. <filter> <fil ...
- springMVC form表单提交多个对象集合--使用ajax提交--前台json格式数据封装方法
(function ($) { $.fn.serializeJson = function () { var jsonData1 = {}; var serializeArray = this.ser ...
- SpringMVC(十四):SpringMVC 与表单提交(post/put/delete的用法);form属性设置encrypt='mutilpart/form-data'时,如何正确配置web.xml才能以put方式提交表单
SpringMVC 与表单提交(post/put/delete的用法) 为了迎合Restful风格,提供的接口可能会包含:put.delete提交方式.在springmvc中实现表单以put.dele ...
- SpringMVC中使用bean来接收form表单提交的参数时的注意点
这是前辈们对于SpringMVC接收表单数据记录下来的总结经验: SpringMVC接收页面表单参数 springmvc请求参数获取的几种方法 下面是我自己在使用时发现的,前辈们没有记录的细节和注意点 ...
- 关于form表单提交到Servlet的时候出现tomcat启动错误的解决方法
1.遇到的问题 今天在写jsp代码的时候通过form表单提交到Servlet的时候出现的tomcat启动错误,琢磨了半天,终于找到了解决方法. 解决问题的关键就在于xml配置的路径和servlet中默 ...
- c#WebApi使用form表单提交excel,实现批量写入数据库
思路:用户点击下载模板按钮,获取到excel模板,然后向里面填写数据保存.from表单提交的时候选择保存好的excel,实现数据的批量导入过程 先把模板放在服务器的项目目录下面:如 模板我一般放在:F ...
- Flask基础之返回值与form表单提交
目录 1.Python 现阶段三大主流Web框架 Django Tornado Flask 对比 2.Flask的安装 3.Flask的第一个简单应用 4.Flask中的render_template ...
- Form表单提交数据的几种方式
一.submit提交 在form标签中添加Action(提交的地址)和method(post),且有一个submit按钮(<input type='submit'>)就可以进行数据的提交, ...
随机推荐
- 微软发布TFS 2018!
也许你还没来得及使用TFS 2017,今天,微软已经发布了TFS 2018的第一个版本(RC1). 与之前所有的候选版本一样,这是一个正式上线(微软成称为go-live)的TFS版本.如果你计划采纳T ...
- JavaScript中使用function作为对象键值
JavaScript的键值只能是string或者number,这一点真是返祖现象啊.现在我面临的问题: var funcs = {}; var funcA = function() { }; var ...
- 全自动baidu云盘下载脚本
20141231<吃元宵>孔云龙_6平米.MP3 20141231<家庭论>李云杰_6平米.MP3 20141231<劫皇杠>李昊洋_6平米.MP3 2014123 ...
- OPC测试常用的OPCClient和OPCServer软件推荐
各位在进行OPC通讯时,常会遇到两种情况: 1)使用一个OPCClient在同一台计算机上连接远程计算机上的多个OPCServer时,发现某个OPCServer是通畅的,但其他的OPCServer却无 ...
- .net core api Post请求
POST请求: 1.请求类型:Content-Type:application/json,参数:json字符串 后台接收参数: 1)([FromBody]UserInfo user)必须以对象形式接收 ...
- OpenStack kolla 多 region 部署配置
region one: cat /etc/kolla/globals.yml openstack_region_name: "RegionOne" multiple_regions ...
- WPF MVVM 网易云音乐
前言: 写的不多. 随时会更新吧 涉及到的技术有很多 绑定 集合 命令 MVVM 自定义控件 事件 用户控件 附加属性 依赖属性 动画 Style Tmepate 装饰器 转换器 ********** ...
- zookeeper基本操作
理解Zookeeper的一种方法是将他视为一个提供高可用性的文件系统.它没有文件和目录,但是有一个统一概念的节点,叫做znode,作为数据以及其他znode的容器.znode来自于一个层次级的命名空间 ...
- javascript 模块依赖管理的本质
模块模式定义 模块是'javascript'的一种设计模式,它为函数定义一个包装函数,并且该包装函数的返回值与模块的API保持一致: function createModule() { functio ...
- Linux之开源软件移植
移植环境 Utuntu 15.04 1.mplayer移植 版本:mplayer-export-snapshot.tar.bz2 /mplayer-export-2015-11-26 Linux PC ...