jQuery 传递对象参数到Spring Controller

本文介绍了一种利用Spring框架简化Ajax请求参数传递的方法。通过定义一个包含所有查询条件的对象,前台使用jQuery发送Ajax请求时将该对象序列化为JSON字符串进行传递。后台Controller接收此对象参数,使得代码更加简洁易读。

    当jQuery 发送ajax请求需要传递多个参数时,如果参数过多,Controller接收参数时就需要定义多个参数,这样接口方法会比较长,也不方便。Spring可以传递对象参数,将你需要的所有查询条件定义成对象的属性,前台给对象赋值,后台Controller接收时只需要接收对象参数即可,这样代码就变得非常简洁。以下是示例代码:

    1、对象参数QueryBean

         就是普通的java类,定义你需要的属性,生产getter、setter方法即可。例如我查询时需要传递用户名称name、用户密码password,那么我的类:Class User{private String name;private String password;getter....setter....}

    2、前台jsp页面jQuery发送请求如何传入对象参数userEntity。要注意data里是JSON格式字符串,属性与对象参数User里的属性名称完全一致。

         $.ajax({
        type : "post",
        url :"${pageContext.request.contextPath }/customerController/queryMedicalRecords",
        data :{name:'这里是你需要传递的用户名称值',password:'你输入的密码’},
        dataType : "json",
        success : function(res) {
                  }
              });

   3、后台Spring Controller 接收参数方法。方法中定义一个对象参数User对象即可,对象名称随便写。这样前台的参数在方法里可以直接通过userEntity.get...方法来拿到。接口里只有request、response、userEntity三个参数,非常干净整洁。如果不是用这样的方法的话,那么就需要定义成这样:public void queryMedicalRecords( HttpServletRequest request, HttpServletResponse response,String name,String password)。这样看起来就很冗余了。

         public void queryMedicalRecords( HttpServletRequest request, HttpServletResponse response,User userEntity) throws IOException {.....}

转载于:https://www.cnblogs.com/DylanZ/p/5822308.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值