Guns添加分页加载更多

/ Guns / 没有评论 / 3090浏览

为实现如下图的效果,特此记录一下。 alt Guns内部自己包含了分页,就是自己动手应用一下。

  1. Dao层接口,重点在参数page,直接写上就好,在mapper中不需要操作,底层自动实现。
List<Project> selectMapsByConditions(@Param("page") Page<Project> page,@Param("condition") String condition, @Param("status") Integer status);
  1. 如何使用,以下是直接在控制器中调用的。
Page<Project> page = new PageFactory<Project>().defaultPage(); 
page.setRecords((projectDao.selectMapsByConditions(page,condition, status), userMgrDao, protoempDao));
return super.packForBT(page);

给控制器加上@ResponseBody注解,前端即可接收到Json数据。

{
	"rows":[],
	"total":"0"
}

3、请求时必要的参数,其中Project.*为定义的一些全局变量

  var pageInfo = {};
    pageInfo['limit'] = Project.defaultLimit;
    pageInfo['offset']=Project.defaultLimit*Project.nowPage;
    pageInfo['sort']='';
    pageInfo['order']='';
    
    ajax = new $ax("url", function (respdata) {
        var data=respdata.rows;
        Project.total=respdata.total;
        Project.countPage=Math.ceil(respdata.total/Project.defaultLimit);

        //当前页+1
        Project.nowPage++;
        if (Project.nowPage<Project.countPage){
            //还有下一页
        }else {
             //没有下一页          
        }

        $.each(data, function (index, item) {
       
            /*处理item数据*/

        })

    }, function (data) {
    });
    ajax.set(pageInfo);
    ajax.start();