在springMVC项目中,多次出现这个问题,所以记录一下,以便以后出现同样的问题时查看。

查看了网上好多博客,都是说前后端字段的类型不一样造成的,但是查看了一下字段的类型是一样的呀,不存在这个问题,那是怎么回事呢。
通过一个字段一个字段地排查,终于找到了原因:
(1)使用http等协议的关键词,比如status,在我的项目中传的参数名称为status,就出现了这个错误,把名称改了之后问题就不存在了,但是在Java后台使用这个字段是没有问题的。
(2)注意Date类型的数据格式,Date的标准数据格式是:Wed Jul 06 10:17:48 CST 2016,在前台传入后台的数据也是日期类型的,但是和Date的格式不一样,也是数据类型不一样的。
前台往后台上传数据时,在后台我们通过两种方式接收,
@RequestMapping("/hello.html")
public ModelAndView jyxadvertisingList(HttpServletRequest request
@RequestParam(value = "statusName", defaultValue = "0") int status,
ModelAndView modelAndView) throws Exception {
do something……
return modelAndView;
}
@RequestMapping("/hello.html")
public ModelAndView saveEditAdvertising(AdvertisingManage advertisingManage,
HttpServletRequest request, ModelAndView modelAndView){
do something…… return modelAndView;
}
参数比较少时直接通过@RequestParam注解的方式获取到参数,参数比较多时我们可以用对象接收,如上所示。
本文探讨了在SpringMVC项目中遇到的HTTP状态参数问题,并提供了两种解决方案:一是避免使用如status这样的HTTP协议关键词作为参数名;二是确保前端传入的Date类型数据格式与Java后台Date标准格式一致。
340

被折叠的 条评论
为什么被折叠?



