项目介绍:开发工具MyEclipse+maven+jdk1.6
框架:SSM
问题:在前端使用异步请求将表单数据发送给后台服务器实体类,从实体类中取出多条数据中只有一条数据为空。数据获取方式是在controller层类直接使用实体类接收前端发送的表单数据(如下图)
开始以为是前端变量名有错,检查之后发现没什么问题,又将实体类接收方式改为直接使用String 接收单个数据,测试后台服务器能正常接收到该数据,这时,就有理由怀疑是不是实体类里面的字段写错了,是不是实体类里面的字段跟前台的变量名对不上,所以导致数据加载不进实体类,不过检查之后,这个疑惑又被排除掉了。
经过再次仔细的检查,终于发现了问题所在,原来是在前端异步请求进行数据封装过程中变量名的问题,原始异步请求数据封装和实体类字段见下图:
问题就出在前端对数据传送给后台时,后台controller层便调用了实体类的Set()方法将数据封装进实体类,但是前端传过来的ID名为“Id”,而实体类中对应的字段名为“uId”,这两者对不上导致了前端请求过来的数据不能封装到User中,从而在实体类中取不到对应的值。