Spring MVC "The request sent by the client was syntactically incorrect ()"解决办法 .

利用SpringMVC3框架验证@DateTimeFormat注解时,遇到一个奇的错,只要表单中的日期字段一输入值则就会如下错:

让人很莫名其妙。查了许久,也试了不少网上说的方法,比如有的说缺少joda-time-2.3.jar包的引用(后来证实不是这个原因)。

JAVA代码如下片段如下:

@Resource
public class Employee {

	private String id;
	private String lastName;
	private int gende;
	private String email;

	@DateTimeFormat(pattern="yyyy-MM-dd")
	private Date birth;
	private Department department;

页面内容如下:

	<form:form action="${pageContext.request.contextPath }/emp" method="POST" modelAttribute="employee">
		<c:if test="${empty employee.id }">
			LastName:<form:input path="lastName" value="" />
		</c:if>
		<c:if test="${!empty employee.id}">
			<form:input type="hidden" path="id"></form:input>
			<input type="hidden" name="_method" value="PUT"></input>
		</c:if>
		<br>
		<%
			HashMap<String,String> gendes = new HashMap<String,String>();
			gendes.put("0","female");
			gendes.put("1","male");

			request.setAttribute("gendes", gendes);
		%>
		Gender:<br>
		<form:radiobuttons path="gende" items="${gendes }" delimiter="<br>" />
		<br>
		Email:<form:input path="email" />
		<br>
		Department:<form:select path="department.depId" items="${departments}"
			itemLabel="depName" itemValue="depId"></form:select>
		<br>
		Birth:<form:input path="birth"/>
		<br>
		<input type="submit" value="Submit"></input>
	</form:form>

springmvc.xml配置中含有此配置:

<mvc:annotation-driven></mvc:annotation-driven>

从以上看过来,确实无法发现有什么问题,后来再写个更简单的测试时发现,原来是JAVA代码中的Date类型Eclipse默认引用了java.sql.Date的类,而不是我们想引入的java.util.Date。更正后马上可以的了。

网上查找此问题时发现有不少同朋友也遇到,有可能也是这个问题,希望对大家有帮助。

时间: 2024-09-27 06:48:05

Spring MVC "The request sent by the client was syntactically incorrect ()"解决办法 .的相关文章

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

出错部分是学习SpringMVC 时学习https://my.oschina.net/gaussik/blog/640164,在添加博客文章部分出现了这个问题. The request sent by the client was syntactically incorrect 说的意思是:由客户端发送的请求是语法上是不正确的. 上网找了很多资料,大部分都是说前端jsp页面的控件名称(name)和controller中接收的参数名称不一致,检查以后确实存在这个问题,修改以后还是没有解决,这说明别

400 Bad Request The request sent by the client was syntactically incorrect ().

项目中一直出现400错误,后面搜索下,发现如下内容. SpringMVC报错信息为The request sent by the client was syntactically incorrect () 在数据绑定的时候一定要主意Controller方法中的参数名和jsp页面里的参数名字是否一致或者按照绑定的规范来写,如果不一致,可能回报如下错误: The request sent by the client was syntactically incorrect (). 从字面上理解是:客户

又见The request sent by the client was syntactically incorrect ()

前几天遇到过这个问题(Ref:http://www.cnblogs.com/xiandedanteng/p/4168609.html),问题在页面的组件name和和注解的@param名匹配不对,这个好解决,一一对好就行了. 但是,这回情况不一样了,我的页面控件是类似这样的: <p style="height:280px;display:block;"> <span class="req"> <label><input typ

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

在SpringMVC中使用@RequestBody和@ModelAttribute注解时遇到了很多问题,现记录下来. @ModelAttribute这个注解主要是将客户端请求的参数绑定参数到一个对象上,不用将很多参数@RequestParam或是@PathVariable. 但是在使用过程中遇到了问题, 第一次Html端请求代码如下,请求方式1 // 简单键值对 var data = { productTypeIds : vproducttypeid, channelTypeId : vchan

解决SpringMVC入参出现The request sent by the client was syntactically incorrect请求语法错误方法

使用SpringMVC出现The request sent by the client was syntactically incorrect.请求错误如下: 可以确定为提交的表单数据和目标方法的入参不一致所导致,表单数据可以多于目标入参个数,但目标参数没有被赋值,则会出现该异常,如下情况: 表单数据: 目标方法: Employee字段: 比对表单数据和Employee字段,可以发现,表单数据比Employee字段少,再加上目标方法的入参是一个 Employee对象,所以将会出现提交的数据不足,

(SpringMVC)报错:The request sent by the client was syntactically incorrect ()

springMVC数据绑定,对我们而言,能够更轻松的获取页面的数据,但是必须要注意的一点就是: Controller方法中的参数名和jsp页面里的参数名字是否一致或者按照绑定的规范来写 在Controller中@RequestParam("m_level") Integer m_level 那么在jsp页面上的数据 <select name="m_level"> <option value="一级">一级</opti

The request sent by the client was syntactically incorrect. 400 问题

The request sent by the client was syntactically incorrect. 这个问题是因为 SpringMvc controller 里面的方法参数和请求参数不匹配. 请求参数在 Contoller 的方法参数对象中不存在则会报这个错误. 如 : Controller 里面的方法 @RequestMapping(value = "/login/signin", method = RequestMethod.POST) public @Resp

错误The request sent by the client was syntactically incorrect的解决

问题:错误400-The request sent by the client was syntactically incorrect. springMVC中,某个页面提交时报400错误,如下图. 解决方法: 1.在网上找了一下,答案是通常遇到这个错误是因为前端jsp页面的控件名称和controller中接收的参数名称不一致.但仔细对比了一遍发现没有问题.很郁闷. 2.然后就反复的提交那个页面进行测试,发现了问题,因为我是将多个参数作为一个实体传至controller,发现某个文本框为空时,提交

解决 spring mvc3.1下post json出现HTTP Status 400 The request sent by the client was syntactically incorrect

问题描述: 已声明 @RequestMapping(value="update", method = RequestMethod.POST)     @ResponseBody     public Map<String, Result> updateNavi(@RequestBody Navigation model) 启动日志有: Mapped "{[/navi/update],methods=[POST],params=[],headers=[],consu