springmvc和mybatis多对一的查询在controller返回数据时报空指针?

@RequestMapping(method=RequestMethod.GET)
@ResponseBody
public TaoResult queryListByPage(@RequestParam(value="page",defaultValue="1") Integer page,@RequestParam(value="rows") Integer pageSize){
TaoResult list=itemService.queryListByPage(page,pageSize);
return list;
}
我是这么写的,list中是有数据的,为什么回显报空指针
HTTP Status 500 - Could not write content: (was java.lang.NullPointerException) (through reference chain: com.taotao.common.result.TaoResult["rows"]->java.util.ArrayList[0]->com.taotao.manager.pojo.Item["itemCat"]->com.taotao.manager.pojo.ItemCat["state"]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.NullPointerException) (through reference chain: com.taotao.common.result.TaoResult["rows"]->java.util.ArrayList[0]->com.taotao.manager.pojo.Item["itemCat"]->com.taotao.manager.pojo.ItemCat["state"])这是报的错,就是数据转json对象报空指针了,因为我的前端是用的Easyui,所以需要json对象数据

5个回答

你用json或map包裹一下 在返回一下出去试试看

Mr_Huang_ning
Mr_Huang_ning 怎么包裹?
2 年多之前 回复

TaoResult 这个对象的list变量转Json报空指针吧?

sun1021873926
夕阳雨晴 TaoResult 这要看你这个类的结构,具体是什么原因导致的,是缺少某字段值还是某对象呢?可以尝试重写该对象,将抛出空指针异常的业务逻辑进行梳理。
2 年多之前 回复
Mr_Huang_ning
Mr_Huang_ning 请问要怎么解决
2 年多之前 回复
Mr_Huang_ning
Mr_Huang_ning 是的
2 年多之前 回复

异常发出来 这个不太清晰。
itemService对象有没有注入进来,你说的list有数据 那前面就代表没错 后面的return list;也不可能错 所以 应该是你错了。仔细看下是不是对象没有注入 给的条件太少 不好分析

Mr_Huang_ning
Mr_Huang_ning 给了,就是转json报空
2 年多之前 回复

使用responseBody 那么你的方法返回值类型改为String ,然后把list 做一个转化为json字符串返回。转化json使用net.sf.json包下的即可,需要引用json的jar包

satan_smiles
satan_smiles 回复Mr_Huang_ning: 网上搜索json的jar包,然后添加到工程中,再引用就可以了啊,
2 年多之前 回复
Mr_Huang_ning
Mr_Huang_ning 具体说一下哪个json
2 年多之前 回复

首先,你的代码没有问题。其次,list为空,应该检查下你的前端处理代码是不是有问题。
浏览器F12,必要的时候在js中写几个debugger调试下。

Mr_Huang_ning
Mr_Huang_ning TaoResult中只有两个属性,total 和rows 其中rows是List<Item> ,这里我是在item中配置了多对一ItemCat的关联,查询后也有数据.关联的数据也有,但是最后在controller回显的时候报的这个错误,我的controller方法也写在上面了
2 年多之前 回复
wojiushiwo945you
毕小宝 回复Mr_Huang_ning: 检查下这个对象的TaoResult 中哪些属性是null的,给他赋值上默认值得。或者JSON转换的时候指定null属性的处理策略。
2 年多之前 回复
Mr_Huang_ning
Mr_Huang_ning 前端用的easyui,接受json对象
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问