错误代码:

HTTP Status 400 -


type Status report

message

description The request sent by the client was syntactically incorrect.


Apache Tomcat/7.0.47

原因:

  1. 400 请求出错
    由于语法格式有误,服务器无法理解此请求。不作修改,客户程序就无法重复此请求。
    SpringMVC 中的 Action 中处理前台 ajax 请求传过来的 json 数据直接转成对应的实体类时出错:
    400 Bad Request,后台也不报错,400指的的是请求无效(请求有语法问题或者不能满足请求)。

解决办法:

  1. 检查实体类的 javabean 里边的类型是否和 springmvc form form 表单名是否一致。
    我的错误原因是两个关联的实体类导致在 form 表单中 name 名称不一致:
  1. Employee.java 
  1. private Integer id;
  2. private String lastName;
  3. private String email;
  4. private int gender;
  5. private Department department;
  6. //无参构造方法以省略
  7. //有参构造方法以省略
  8. //setter 和 getter 方法以省略

Department.java

  1. private Integer id;
  2. private String departmentName;
  3.  
  4. //无参构造方法以省略
  5.  
  6. //有参构造方法以省略
  7.  
  8. //setter 和 getter 方法以省略

form 表单:

  1. <!--
  2. 可以通过 modelAttribute 属性指定绑定的模型属性,
  3. 若没有指定该属性,则默认从 request 域对象中读取 command 的表单 bean,
  4. 如果该属性值也不存在,则会发生错误
  5. -->
  6. <form:form action="emp-save" method="post" modelAttribute="employee">
  7. <!-- path 属性对应 HTML 表单标签的 name 属性 -->
  8. LastName:<form:input path="lastName"/> <br>
  9. Email:<form:input path="email"/> <br>
  10. Gender:<form:radiobuttons path="gender" items="${genders}"/> <br>
  11. Department:<form:select path="department" items="${dapartments}" itemLabel="departmentName" itemValue="id"></form:select><br>
  12. <input type="submit" value="Submit">
  13. </form:form>

把 path="department" 改为 path="department.id"

到此,我的问题就已经解决。欢迎各位指正

SpringMVC form 表单提交报400错误的更多相关文章

  1. js 记一次带时间的表单提交报400错误

    写一个功能的时候,表单里不填时间提交的时候,数据就正常传到后台了,一填上时间就报400错误,看了后台时间的处理也没问题,看了前端时间控件返回的格式也对,但是就是一直报错, 把提交的数据打印出来也没发现 ...

  2. Java入门到精通——调错篇之EasyUI+SpringMVC Form表单提交到Contorller中文字出现乱码

    一.错误现象. 界面Post提交到Contorller的时候在Contorller中出现乱码. 二.问题解决. 在Web.xml下加入以下代码就可以解决. <filter> <fil ...

  3. springMVC form表单提交多个对象集合--使用ajax提交--前台json格式数据封装方法

    (function ($) { $.fn.serializeJson = function () { var jsonData1 = {}; var serializeArray = this.ser ...

  4. SpringMVC(十四):SpringMVC 与表单提交(post/put/delete的用法);form属性设置encrypt='mutilpart/form-data'时,如何正确配置web.xml才能以put方式提交表单

    SpringMVC 与表单提交(post/put/delete的用法) 为了迎合Restful风格,提供的接口可能会包含:put.delete提交方式.在springmvc中实现表单以put.dele ...

  5. SpringMVC中使用bean来接收form表单提交的参数时的注意点

    这是前辈们对于SpringMVC接收表单数据记录下来的总结经验: SpringMVC接收页面表单参数 springmvc请求参数获取的几种方法 下面是我自己在使用时发现的,前辈们没有记录的细节和注意点 ...

  6. 关于form表单提交到Servlet的时候出现tomcat启动错误的解决方法

    1.遇到的问题 今天在写jsp代码的时候通过form表单提交到Servlet的时候出现的tomcat启动错误,琢磨了半天,终于找到了解决方法. 解决问题的关键就在于xml配置的路径和servlet中默 ...

  7. c#WebApi使用form表单提交excel,实现批量写入数据库

    思路:用户点击下载模板按钮,获取到excel模板,然后向里面填写数据保存.from表单提交的时候选择保存好的excel,实现数据的批量导入过程 先把模板放在服务器的项目目录下面:如 模板我一般放在:F ...

  8. Flask基础之返回值与form表单提交

    目录 1.Python 现阶段三大主流Web框架 Django Tornado Flask 对比 2.Flask的安装 3.Flask的第一个简单应用 4.Flask中的render_template ...

  9. Form表单提交数据的几种方式

    一.submit提交 在form标签中添加Action(提交的地址)和method(post),且有一个submit按钮(<input type='submit'>)就可以进行数据的提交, ...

随机推荐

  1. [Linux]几个armhf的ubuntu源

    摘自百度贴吧,留存 http://mirrors.ustc.edu.cn/ubuntu-ports/http://ftp.ubuntu-tw.org/mirror/ubuntu-ports/http: ...

  2. bootstrap实现左侧图片右侧文字布局

    效果图 代码 通过class="media-left"来控制相对位置 <!DOCTYPE html> <html> <head lang=" ...

  3. .NET MVC CSRF/XSRF 漏洞

    最近我跟一个漏洞还有一群阿三干起来了…… 背景: 我的客户是一个世界知名的药企,最近这个客户上台了一位阿三管理者,这个货上线第一个事儿就是要把现有的软件供应商重新洗牌一遍.由于我们的客户关系维护的非常 ...

  4. android界面

    自定义控件EditText 在src中的drawable新建myeditext.xml文件<?xml version="1.0" encoding="utf-8&q ...

  5. 847. Shortest Path Visiting All Nodes

    An undirected, connected graph of N nodes (labeled 0, 1, 2, ..., N-1) is given as graph. graph.lengt ...

  6. MySQL中需要注意的几点

    几个常用的命令: select  database(); #查看当前所在的数据库. select  user();#查看当前登录的用户 show global variables like " ...

  7. jquery 中选择当前标签下众多相同子标签中的第n个

    可以用jquery选择器的:eq选择器或者jquery遍历的eq()方法,下面带那给出ul下第4个li的内容 $("ul li:eq(3)")  // 元素的index位置工0开始 ...

  8. 双向链表的实现——c++

    c++实现双向链表 : #ifndef DOUBLE_LINK_HXX #define DOUBLE_LINK_HXX #include <iostream> using namespac ...

  9. java.util包详解

    介绍Java的实用工具类库java.util包.在这个包中,Java提供了一些实用的方法和数据结构.本章介绍Java的实用工具类库java.util包.在这个包中,Java提供了一些实用的方法和数据结 ...

  10. 2019 rode of my LeetCode

    基于自己的算法实操水平如此之菜,开始开启leetcode狂刷之路! 2019先定个小目标100题. 2018年经历了辞职到考研失利,我觉得这大概是一生中最低谷的时候了吧. 2019年收拾心情重新开始好 ...