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 b

我们在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 不知道绑定哪各属性。


目录
相关文章
|
Web App开发 监控 Java
|
Java Spring
用spring发送http请求
用spring发送http请求
|
XML 存储 网络协议
kettle开发篇-Http client
kettle开发篇-Http client
1293 0
|
7月前
|
人工智能 Java API
MCP协议重大升级,Spring AI Alibaba联合Higress发布业界首个Streamable HTTP实现方案
本文由Spring AI Alibaba Contributor刘军、张宇撰写,探讨MCP官方引入的全新Streamable HTTP传输层对原有HTTP+SSE机制的重大改进。文章解析Streamable HTTP的设计思想与技术细节,并介绍Spring AI Alibaba开源框架提供的Java实现,包含无状态服务器模式、流式进度反馈模式等多种场景的应用示例。同时,文章还展示了Spring AI Alibaba + Higress的完整可运行示例,分析当前实现限制及未来优化方向,为开发者提供参考。
|
7月前
|
缓存 安全 Java
深入解析HTTP请求方法:Spring Boot实战与最佳实践
这篇博客结合了HTTP规范、Spring Boot实现和实际工程经验,通过代码示例、对比表格和架构图等方式,系统性地讲解了不同HTTP方法的应用场景和最佳实践。
701 5
|
负载均衡 Java 开发者
Spring Cloud 远程调用:为何选择 HTTP 而非 RPC?
【10月更文挑战第1天】在微服务架构中,远程服务调用是一个核心环节。面对HTTP和RPC(Remote Procedure Call,远程过程调用)这两种通信协议,Spring Cloud 选择了HTTP作为其主要通信手段。本文将深入探讨Spring Cloud选择HTTP而非RPC的原因,以及这一选择在实际工作中的优势。
383 0
|
Web App开发 前端开发 Java
基于Spring3 MVC实现基于HTML form表单文件上传
基于Spring3 MVC实现基于HTML form表单文件上传
103 7
基于Spring3 MVC实现基于HTML form表单文件上传
|
Java Spring
spring restTemplate 进行http请求的工具类封装
spring restTemplate 进行http请求的工具类封装
595 3
|
Java API Spring
Spring Boot中使用Feign进行HTTP请求
Spring Boot中使用Feign进行HTTP请求