今天做一个编辑的功能的时候,像后台传递一个实体,结果报400 Bad Request的错误。。。。找了好久也没发现错误,老是报(不支持GET方式提交),检查好多遍我都是用的POST。。。不知道问题出在哪了,后面百度发现说是参数对应不上,可是我参数也对应上了啊,最后查出发现是我提交的date类型的数据后台不接受
该属性实体和数据库都是Date类型,因为我用的angularJs用了过滤器转成日期形式显示之后,该属性就从Date变成了String类型,所以我用@ResponseBody提交实体的时候,后台是匹配不到的,前端穿的String类型的时间,不能匹配后台实体Date类型。找了网上的一些解决办法,讲的很好,但是我都试了一下,没一个成功的。后面自己想了想,想到在前端用JS把String的日期再转回Date类型的日期,在提交即可。。。。。(网上说实体是Date类型和int类型在提交的时候都会出现这种问题,其实我试了一下,int类型的数据,它会自动识别,不需要像Date类型这样需要转)
不能不说。。。花了我半天的时间啊。。。。哎。。。。反应太慢。。。
最后说下Js String转Date
var str = "2005-12-15";
var d = new Date(str.replace(/-/g, "/"));
var str2 = "2005/12/15";
var d2 = new Date(str2);
这样就可以了!!!!