前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringMVC+jquery.pagination分页显示

SpringMVC+jquery.pagination分页显示

作者头像
程裕强
发布2022-05-06 20:25:47
1.4K0
发布2022-05-06 20:25:47
举报
文章被收录于专栏:大数据学习笔记

最近在做ES全文搜索,需要做个类似于百度搜索下面分页的组件。 找了很多,最后发现jquery.pagination实现分页很方便。

1、JSP页面

http://www.zhangxinxu.com/jq/pagination_zh/下载对应的JS、CSS文件。

代码语言:javascript
复制
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>分页测试</title>
<link rel="stylesheet" href="/elastic/pagination/pagination.css" />
<script type="text/javascript" src="/elastic/pagination/jquery.min.js"></script>
<script type="text/javascript" src="/elastic/pagination/jquery.pagination.js"></script>
<script type="text/javascript">
//当前页
var pageNum = Number(${pageNum});
//数据量
var totalCount = Number(${totalCount});
//默认调用
$(function(){  
    // 创建分页
    $("#Pagination").pagination(totalCount, {
        callback: pageselectCallback,//核心,回调函数
        prev_text: "前一页",
        next_text: "后一页",
        current_page : pageNum,//当前页号
        items_per_page : 10,
        num_edge_entries: 1, //边缘页数
        num_display_entries: 6, //主体页数
        link_to: "/elastic/test/page.do?index=__id__"  //分页的js中会自动把"__id__"替换为当前的数
    });
    //这个事件是在翻页时候用的
    function pageselectCallback(index, jq) {
        alert(index)
    }
    var html = "";
    var data = ${users};
    $.each(data,function(idx,obj){ 
        var username=obj.username;
        var password=obj.password;
        var age=obj.age;
        html +="用户名:<a href='#' target='_blank'>"+ username+"</a>,密码:"+password+",年龄:"+age+"<br>";
    });
    $("#Searchresult").append(html);
});
</script>
</head>
<body>
<div id="Searchresult"></div><br>
<div id="Pagination" class="pagination"><!-- 这里显示分页 --></div>
</body>
</html>

2、控制器

代码语言:javascript
复制
package controller;

import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSONArray;
import bean.UserBean;

@Controller
@RequestMapping("/test")
public class TestController {
    @RequestMapping(value = "/page.do" )
    @ResponseBody
    public ModelAndView page(String index) {
        //当前页
        System.out.println("页码:"+index);
        //注意:jquery.pagination.js页码从0开始
        int pageNum = 0;
        if (index!=null&&Integer.parseInt(index)>0){
            pageNum=Integer.parseInt(index);
        }
        System.out.println("确认页码:"+pageNum);
        //每一页的页数
        int pageSize = 10;
        List<UserBean> users=new ArrayList<>();
        for(int i=0;i<pageSize;i++) {
            users.add(new UserBean(pageNum+"_test"+i,"pwd_test"+i,i+20));
        }
        ModelAndView mv = new ModelAndView();
        mv.addObject("totalCount",120);
        mv.addObject("pageNum",pageNum);
        JSONArray jsonArray=new JSONArray();
        jsonArray.addAll(users);
        mv.addObject("users",jsonArray.toString());
        mv.setViewName("pager");
        return mv;
    }
}

3、Bean

代码语言:javascript
复制
package bean;

public class UserBean {

    private Integer id;
    private String username;
    private String password;
    private Integer age;
    public UserBean() {}
    public UserBean(String username, String password,int age) {
        this.username = username;
        this.password = password;
        this.age=age;
    }
    public Integer getId() {
        return id;
    }
    public String getUsername() {
        return username;
    }
    public String getPassword() {
        return password;
    }
    public Integer getAge() {
        return age;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public void setAge(Integer age) {
        this.age = age;
    }


}

4、分页效果

这里写图片描述
这里写图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-05-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、JSP页面
  • 2、控制器
  • 3、Bean
  • 4、分页效果
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档