org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert val

org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert value of type [java.lang.String] to required type [java.lang.Integer]; nested exception is java.lang.NumberFormatException: For input string: "id"

 

这是一个ssm项目,通过从前台获取数据,经过layui组件将数据发送到Service层 ,报错java.lang.NumberFormatException: For input string: "id"

//多条件搜索
$("#search").click(function () {

    var id=$("[name='id']").val();
    var name=$("[name='name']").val();
    var city=$("[name='city']").val();
    var manager=$("[name='manager']").val();
    var grade=$("[name='grade']").val();

    table.reload('demo', {
        where: { //设定异步数据接口的额外参数,任意设
            id: 'id'
            ,name: name
            ,city: city
            ,manager: manager
            ,grade: grade
        }
        ,page: {
            curr: 1 //重新从第 1 页开始
        }
    }); //只重载数据

});

-----------------------------------------------以上是layui代码

public class ClientsController {

    //注入客户的Service
    @Autowired
    private ClientsService clientsService;

    //加载数据
    @RequestMapping(value = "/clients/init")
    @ResponseBody
    public Map getList(Integer page,Integer limit,Integer id,String name,
                       String city,String manager,String grade){

        System.out.println(page);
        System.out.println(limit );

        System.out.println("---------------------------");
        System.out.println(id);

        //获得数据总条数
        Integer count = clientsService.getCount();

        //获得每页开始下标
        Integer indexPage=(page-1)*limit ;

        List<Clients> list = clientsService.getList(indexPage,limit ,id,name,city,manager,grade);

        System.out.println(list);

//        创建map,封装要返回的数据
        Map map = new HashMap();
        map.put("msg","");
        map.put("code",0);
        map.put("count",count);
        map.put("data",list);

        return map;
    }
}

通过spring注入前台数据,要接收的参数为integer类型,var弱类型可以是数值,所以正常来说是没有问题的,但这里给id属性赋值时,id被加上了引号,所以传过去的数据是一个string类型,但接收的是integer类型,所以这里去掉上面的单引号就可以正确运行了:

table.reload('demo', {
    where: { //设定异步数据接口的额外参数,任意设
        id: 'id'
        ,name: name
        ,city: city
        ,manager: manager
        ,grade: grade
    }
    ,page: {
        curr: 1 //重新从第 1 页开始
    }
}); //只重载数据
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值