FastQ思路之Easyui基于Json进行前后台数据交互的实现思路

为什么实用json

问题一:jsp页面json如何赋值给java对象

问题二:java对象如何转json给jsp页面

1、页面发起请求getT_Rolelist.do

2、被web.xml配置的springMvc拦截器拦截

  <servlet-mapping>
    <servlet-name>springMvc</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
View Code

 

3、拦截后跳转至控制器T_RoleController.getT_RoleList(HttpServletRequest, HttpServletResponse)

    @Log(message="角色列表查询")
    @RequestMapping("getT_RoleList")
    @ResponseBody
    public EUDataGrid getT_RoleList(HttpServletRequest request,
            HttpServletResponse response) {
        
        // 获取请求 
        Map<?, ?> paramMap = getPageParam(request);

        // 分页查询
        return t_roleService.getEasyUiAllList(paramMap);
    }
View Code

 4、查询数据库后返回result,如下

    @Override
    public EUDataGrid getEasyUiAllList(Map map) {
        // TODO Auto-generated method stub

        // 分页参数定义
        String page = map.get("page").toString();
        String rows = map.get("rows").toString();
        PageHelper.startPage(Integer.parseInt(page), Integer.parseInt(rows));

        // 查询
        List<T_Role> list = t_roleDao.getEasyUiAllList(map);

        // 创建一个返回值对象
        EUDataGrid result = new EUDataGrid();
        result.setRows(list);

        // 取记录总条数
        PageInfo<T_Role> pageInfo = new PageInfo<T_Role>(list);
        result.setTotal(pageInfo.getTotal());

        return result;
    }
View Code

 其中,PageHelper为mybatis分页插件不作解释,EUDataGrid为自定义JavaBean,如下

public class EUDataGrid<T> implements java.io.Serializable {
    //总条数
    private long total = 0;
    //返回记录
    private List<T> rows = new ArrayList();

    public long getTotal() {
        return total;
    }

    public void setTotal(long total) {
        this.total = total;
    }

    public List<T> getRows() {
        return rows;
    }

    public void setRows(List<T> rows) {
        this.rows = rows;
    }
}
View Code

 5、回到控制器,通过@ResponseBody注解进行解析,@ResponseBody完成http消息转换,spring默认采用的json协议解析由Jackson完成

    /**
     * 角色列表分页
     * @param request
     * @param response
     * @return
     * @author   韩慧兵
     * @version  2016年5月18日 上午10:50:28
     * @since    JDK 1.6
     */
    @Log(message="角色列表查询")
    @RequestMapping("getT_RoleList")
    @ResponseBody
    public EUDataGrid getT_RoleList(HttpServletRequest request,
            HttpServletResponse response) {
        
        // 获取请求 
        Map<?, ?> paramMap = getPageParam(request);

        // 分页查询
        return t_roleService.getEasyUiAllList(paramMap);
    }
View Code

6、回到页面

easyui负责解析json

posted @ 2016-07-14 16:28  韩慧兵  阅读(1607)  评论(0编辑  收藏  举报