后台实现通用的分页查询json数据的返回
在bean中创建一个Msg对象,封装查询好的页面信息,包括状态码以及提示信息
public class Msg {
//状态码 100-成功 200-失败
private int code;
//提示信息
private String msg;
//用户要返回给浏览器的数据
private Map<String , Object> extend = new HashMap<String, Object>() ;
public static Msg success() {
Msg result = new Msg();
result.setCode(100);
result.setMsg("处理成功!");
return result;
}
public static Msg fail() {
Msg result = new Msg();
result.setCode(200);
result.setMsg("处理失败!");
return result;
}
public Msg add(String key,Object value) {
this.getExtend().put(key, value);
return this;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Map<String, Object> getExtend() {
return extend;
}
public void setExtend(Map<String, Object> extend) {
this.extend = extend;
}
}
后台返回拼装好分页的json数据
//查询供应商数据(分页查询)
//ResposeBody正常工作需要导入jackson包
@RequestMapping("/suppliers")
@ResponseBody
public Msg getSupplierWithJson(@RequestParam(value="pn",defaultValue="1")Integer pn) {
PageHelper.startPage(pn, 5);
//startPage后面紧跟的查询就是一个分页查询
List<Supplier> suppliers = supplierService.getAll();
//,使用pageinfo包装查询后的结果,只需要将pageinfo交给页面即可
//,封装了详细的分页信息,包括有我们查询出来的数据,传入连续显示的页数
PageInfo page = new PageInfo(suppliers,5);
//通过add方法将查询好的分页信息拼装到Msg上
return Msg.success().add("PageInfo", page);
}