网易云课堂整合SSM(四)页面改写(Ajax方式)

一.改写JSON


原来的返回请求返回的是pageInfo,没有其他提示消息。所以为了后期统一标准,用一个统一消息类来封装返回结果,对应返回的JSON数据也改变。

@RequestMapping("/teams")
    @ResponseBody
    public PageInfo getTeamWithJson(@RequestParam(value = "pn", defaultValue = "1") Integer pn, Model model) {
        PageHelper.startPage(pn, 5);
        List teamps = teamservice.getAll();
        //用Pageinfo包装查询后的结果,封装分页信息和查询出来的结果
        //传入连续显示的页数
        PageInfo page = new PageInfo(teamps, 5);
        //直接返回PageInfo对象
        return page;
    }

1.添加新的消息类,用来改写返回的请求JSON数据。

package bean;

import java.util.HashMap;
import java.util.Map;

public class MSG {

    // 100成功200失败
    private int code;
    // 结果消息
    private String msg;

    // 用户要返回给浏览器的结果集,封装结果集
    private Map extend = new HashMap();

    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 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 getExtend() {
        return extend;
    }

    public void setExtend(Map extend) {
        this.extend = extend;
    }

    public MSG add(String key, Object value) {
         this.getExtend().put(key, value);
         return this;
    }

}

2.然后改写Controller中的请求。

@RequestMapping("/teams")
    @ResponseBody
    public MSG getTeamWithJson(@RequestParam(value = "pn", defaultValue = "1") Integer pn, Model model) {
        PageHelper.startPage(pn, 5);
        List teamps = teamservice.getAll();
        //用Pageinfo包装查询后的结果,封装分页信息和查询出来的结果
        //传入连续显示的页数
        PageInfo page = new PageInfo(teamps, 5);
        //直接返回PageInfo对象
        return MSG.success().add("pageInfo", page);
    }

3.结果对比
这是原来的JSON数据:
网易云课堂整合SSM(四)页面改写(Ajax方式)_第1张图片
这是返回的新的JSON数据:

网易云课堂整合SSM(四)页面改写(Ajax方式)_第2张图片
从extend-》pageInfo-》list-》数据。
2.

你可能感兴趣的:(网易云课堂SSM,SSM入门总结)