通过easyui的datagrid向后台传递数组

本文探讨了在页面上选择多个相同类型的值,并将其作为参数传递到后台进行数据库查询的方法。通过定义数组收集复选框的值,使用@RequestParam注解处理数组参数,实现了灵活的多值查询功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

场景:页面需要选择多个职称,然后表格需要根据选择的职称查询数据库.
主要问题有:怎样传递多个类型相同的值到后台
方法:页面需要定义数组,将值存入数组进行传递,传递后台需要注意,这里是数组所以@RequestParam则必须使用,并且value的值是数组形式,另外需要的注意的是,为了没有选择职称的时候能够默认的查询数据库的所有人员,则需要使用@RequestParam的default属性,并且设的值也很关键,这里因为是字符串数组接受参数,所以我们将默认值设置为空串.

页面代码:

script type="text/javascript">
    $('#btn').bind('click', function () {
        //定义一个数组
        var checkValues = new Array();
        //获取页面所有被选中的复选框,遍历复选框,然后获取其中的值并存入定义的数组中
        $('input[name="certificates"]:checked').each(function () {
            checkValues.push($(this).val());
        });
        
        //让数据表格带着参数去查询
        $('#dg').datagrid('load',{
            certificates: checkValues
        });

    });
</script>

后台代码:

//获取员工信息,用于页面展示
    @RequestMapping("showEmployees")
    @ResponseBody
    public Map<String, Object> showEmployees(Integer page, Integer rows,
                                            @RequestParam(value = "certificates[]",defaultValue = "") String[] certificates) {
        //调用service查询数据
        PageInfo<Employee> pageInfo = null;
        if (certificates != null && certificates.length > 0) {
            pageInfo = employeeService.showEmployees(page, rows, certificates);
        }else {
            pageInfo = employeeService.showEmployees(page,rows);
        }
        Map<String, Object> map = new HashMap<>();
        map.put("total", pageInfo.getTotal());
        map.put("rows", pageInfo.getList());
        return map;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值