【问题详情】:

    在数据库中建表时,为了更加精确,将支付时间设计成datatime类型,java中定义类型为Date,结果从前台页面获取支付时间的值时,一直报400错误

 

                                             

 

 

【解决方式】:

    1.由于json传递的都是字符串,没办法传给后台时间格式,所以前台传不了,需要后台解析

    2.可以在实体类中新增一个虚拟预留字段

   

1     /**
2      * 支付时间
3      */
4     private Date bPaymentTime;
5     /**
6      * 支付时间STRING
7      */
8     private String bPayTime;

 

     3.前台 Ajax 传递值的时候传递bPayTime字符串

    

1  $.ajax({
2                 type: 'post',
3                 url: '${ctx}/service/bill/add',
4                 data: {
5                     bPayTime: bPayTime6                 },

 

     4.然后在Controller中写一个解析器,将bPayTime拿到的值赋给bPaymentTime并转换成需要的时间格式

 

  1 mdrZffcBill.setbPaymentTime(new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”).parse(mdrZffcBill.getbPayTime())); //转换日期格式 

  

  【测试】:

      1.通过断点拦截可以看到,此时bPayTime从前台拿到一个时间字符串,而bPaymentTime为null值

      

 

       2.当断点通过解析器时,时间格式成功转换

      

 

       3.放行,前台状态码显示成功

      

 

       4.成功传入数据库

      

 

 

    

版权声明:本文为xiaoluohao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/xiaoluohao/p/12016878.html