新人请教:ajax传参问题,json数据如何转为Java对象

前端请求
var data = {id:101,name:"张三",LAY_TABLE_INDEX:1}//Student
$.ajax({
    type: "post",
    url:   '/resourcemanage/update',
    data:  data,
    // contentType: "application/json; charset=utf-8",
    dataType: "json",
    //async: false,
    error: function(data) {
        layer.alert("请求出错了!请联系管理员", {icon: 2});
        return false;
    },
    success: function(data) {
        if(data.state=="ok"){
            layer.msg("更新成功");
            layer.close(index);
            table.reload('resourcemanage');
        }else{
            layer.alert(data.msg, {icon: 2});
        }
    }
});

Controller怎么接收?

Student student = getModel(Student.class);//接收失败{}
Student student = getBean(Student.class);//接收失败{}
Student student = getModel(Student.class,"");//抛异常 The model attribute LAY_TABLE_INDEX is not exists.
Student student = getBean(Student.class,true);//接收失败{}
String  jsonStr = HttpKit.readData(getRequest());
Student student = JSON.parseObject(jsonStr,Student.class);//抛异常

后台信息:Parameter   : id=102  name=张三  creusrcode=  LAY_TABLE_INDEX=1 

LAY_TABLE_INDEX是额外的参数,并不是Student的属性。

这个怎么接收呢?

如果是[{id:101,name:"张三"},{id:102,name:"李四"}]这种数组,又该如何接收?
getModel,getBean 多传了其他参数就不能接收了吗?


评论区

sniper1715

2018-05-03 14:09

json转换应该是你id类型不对,gemodel必须是student.id,student.name这种参数形式。

jounzhang

2018-05-03 14:18

看文档上写的有

jounzhang

2018-05-03 14:19

getModel(Blog.class, "");

jounzhang

2018-05-03 14:19

http://www.jfinal.com/doc/3-5 红色字体

elstar

2018-05-03 14:30

@jounzhang getModel(Blog.class, "");参数如果多了,就会抛异常。

要输就输给追求

2018-05-03 15:44

29行,括号里面再加一个参数,true

elstar

2018-05-03 16:07

@要输就输给追求 getModel(Student.class, "",true); 可以,感谢。 如果是数组,怎么接收?

Ins

2018-05-03 16:17

参考下 http://www.jfinal.com/share/219

HingLo

2018-05-03 17:19

请看@elstar 的回答

热门反馈

扫码入社