Ajax前端向后台传值,后台返回值工具类空指针报错
今天在做毕业设计时发现了一个空指针的报错
package com.systop.clinic.util;
import com.systop.clinic.pojo.DoctorEntity;
public class FallBack {
Result result;
//成功返回成功信息
public Result successMsg(String msg){
result.setMsg(msg);
return result;
}
public Result successA(String code,String msg){
result.setMsg(msg);
result.setCode(code);
return result;
}
public Result successB(String code, String msg, DoctorEntity entity){
result.setCode(code);
result.setMsg(msg);
result.setDoctorEntity(entity);
return result;
}
//失败返回错误信息
public Result wrongMsg(String msg){
result.setMsg(msg);
return result;
}
public Result wrongA(String code,String msg){
result.setMsg(msg);
result.setCode(code);
return result;
}
public Result wrongB(String code, String msg,DoctorEntity entity){
result.setCode(code);
result.setMsg(msg);
result.setDoctorEntity(entity);
return result;
}
}
**
报错位置在第20行,通过debugging分析发现在controller方法中传值到该工具类时,返回值实体类Result是空值.
找到原因:在该工具类中Result类未被实例化,因此result是空的,因此在进行result.setCode()时无法找到setter方法.
特此记录.
**
另外需要注意的以下两种情况:
①.如果前端ajax:
$.ajax({
url:,
data:{key1:value,key2:value},
...
})
,则后台controller中需要用@RequesParam("")来接收
②如果前端ajax:
$.ajax({
url:,
data:JSON.stringify({key1:value,key2:value})
})
则后台需要用public Result login(@RequestBody("") 实体类 类名)
③.如果传的是JSON数组对象,则后台需要用JSONObject接收
具体代码如下
public String SaveAsExcelTest(@RequestBody JSONObject jsonObject) {
//前台如果传的是JSON数组对象,则后台需要用JSONObject接收
}
记录每一天:2020/11/21