SSM 使用easyui实现分页

记录一下

在使用easyui做分页查询,对easyui自动分页查询表示一脸懵逼,上网查了各种例子,都没能够理解,最后看到有人给出他的json数据,然后自己尝试直接自己写成这样的json数据返回,结果真的可以了。话不多说,代码如下:

	/**
	 * 实现分页查询
	 * @return
	 */
	@RequestMapping("/questToJson")
	@ResponseBody
	public String questToJson(){
		List<Questdes> list = questdesService.queryList();
		JSONArray json=JSONArray.fromObject(list);
		System.out.println(json);
		JSONObject json2=new JSONObject();
		
		json2.put("rows", list);
		json2.put("total", list.size());
		
		System.out.println(json2.toString());
		
		return json2.toString();
	}
上面这是controller里的方法,返回的json数据格式是:

{"total":3,
"rows":[{"aid":1,"clicknum":12581,"img":"http://g.hiphotos.baidu.com/zhidao/pic/item/a1ec08fa513d2697479b2ffa57fbb2fb4216d8c8.jpg","questtitle":"你的心理阴暗面有多大","synopsis":"随着负面情绪的增加,每个人内心"},{"aid":2,"clicknum":12580,"img":"","questtitle":"朋友圈人格测评","synopsis":"这是一条很长的简介,大概有这么长吧!"},{"aid":3,"clicknum":0,"img":"","questtitle":"爱的方式","synopsis":"阿斯蒂芬"}]}
所谓的自动分页主要就是需要total和rows这两个属性,easyui会自动识别,做出分页。

然后就是每页显示指定行数,下面这段代码是网上copy的,直接丢进js就可以了,感觉好像有点麻烦,因为每次都要写,所以后续会想想怎么做到放在一个统一的地方,直接调用就好

    if (typeof data.length == 'number' && typeof data.splice == 'function'){    // is array  
        data = {  
            total: data.length,  
            rows: data  
        }  
    }  
    var dg = $(this);  
    var opts = dg.datagrid('options');  
    var pager = dg.datagrid('getPager');  
    pager.pagination({  
        onSelectPage:function(pageNum, pageSize){  
            opts.pageNumber = pageNum;  
            opts.pageSize = pageSize;  
            pager.pagination('refresh',{  
                pageNumber:pageNum,  
                pageSize:pageSize  
            });  
            dg.datagrid('loadData',data);  
        }  
    });  
    if (!data.originalRows){  
        data.originalRows = (data.rows);  
    }  
    var start = (opts.pageNumber-1)*parseInt(opts.pageSize);  
    var end = start + parseInt(opts.pageSize);  
    data.rows = (data.originalRows.slice(start, end));  
    return data;  
}  
  
$(function(){  
    $('#grid').datagrid({loadFilter:pagerFilter});  
}); 
ok



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值