springboot+html页面ajax实现分页模糊查询

期间自己百度了很多,看了网上页面插件,但是没有使用,最后用了比较笨的方法。有很多不足地方希望能被指出

html页面代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        body{
            text-align: center;
           margin:0 auto;
        }
        .divForm{
            display: inline-block;
        }
    </style>
</head>
<body>
<h1 style="text-align: center">图书借阅系统---后台管理</h1>
<form action="javascript:search()" method="post"  id="search">
    图书名称:<input type="text" name="bookName" id="bookName" value=""/> <input type="submit" value="查询"/>
    <input type="hidden" name="pageindex" id="pageindex" value="1"/>
    <button onclick="add()" style="width: 50px;height: 25px">新增</button>
</form>
    <table id="tt" class="divForm" border="1">
        <tr style="background-color:grey">
            <td>图书编号</td>
            <td>图书分类</td>
            <td>图书名称</td>
            <td>作者</td>
            <td>出版社</td>
            <td>入库时间</td>
            <td>是否借阅</td>
            <td>操作</td>
        </tr>

    </table>
    <p><a href="#" id="minpage">首页</a>&nbsp;&nbsp;
    <a href="#" id="uppage">上一页</a>&nbsp;&nbsp;
    <a href="#" id="lapage">下一页</a>&nbsp;&nbsp;
    <a href="#" id="maxpage">尾页</a></p>
    <p>共有<span id="totalCount"></span>条数据,当前第<span id="currentPageNo"></span>/
        <span id="max"></span>页</p>

<script src="../js/jquery-3.3.1.min.js"></script>
<script src="../js/jquery-dateformat.js"></script>
<script>

    aaa();

    function aaa() {
        var name=$("#bookName").val();
        var pageIndex=$("#pageindex").val();
        $.ajax({
            type:"get",
            url:"/info/serachName",
            data:{"bookName":name,"pageindex":pageIndex},
            dataType:"json",
            success:function (dat) {
                var str=null;
                var list=dat.infoList;
                for (var i=0;i<list.length;i++){
                    var book=list[i];
                    var borr;
                    if (book.borrowed==0){
                        borr="未借阅";
                    }else if (book.borrowed==1){
                        borr="已借阅";
                    }

                    var creationTime=$.format.date(book.creationTime,"yyyy-MM-dd");//时间插件js使用

                    var stra='<tr><td>'+book.bookCode+
                            '</td><td>'+book.bookTypeName+
                            '</td><td>'+book.bookName+
                            '</td><td>'+book.bookAuthor+
                            '</td><td>'+book.publishPress+
                            '</td><td>'+creationTime+
                            '</td><td>'+borr+
                            '</td><td><a href="#">查看</a>&nbsp;&nbsp;' +
                                '<a href="#">修改</a>&nbsp;&nbsp;' +
                                '<a href="#">删除</a>'+
                            '</td></tr>';
                    str=str+stra;
                }
                $("#tt tr:gt(0)").remove();
                $("#tt").append(str);
                $("#tt tr:even").css("background-color","grey");
                $("#currentPageNo").val(dat.currentPageNo);
                $("#currentPageNo").html(dat.currentPageNo);
                $("#max").val(dat.totalPageCount);
                $("#max").html(dat.totalPageCount);
                $("#totalCount").val(dat.totalCount);
                $("#totalCount").html(dat.totalCount);
            }
        })
    }
    $("#lapage").on("click",function () {
        var pageIndex=$("#currentPageNo").val()*1+1;
        $("#pageindex").val(pageIndex);
        aaa();
    })

    $("#uppage").on("click",function () {
        var pageIndex=$("#currentPageNo").val()*1-1;
        $("#pageindex").val(pageIndex);
        aaa();
    })

    $("#minpage").on("click",function () {
        var pageIndex=1;
        $("#pageindex").val(pageIndex);
        aaa();
    })

    $("#maxpage").on("click",function () {
        var pageIndex=$("#max").val();
        $("#pageindex").val(pageIndex);
        aaa();
    })

    function search() {
        var pageIndex=1;
        $("#pageindex").val(pageIndex);
        aaa();
    }

</script>
</body>
</html>

ajax中使用了时间插件jquery-dateformat.js

controller部分代码:

@RequestMapping("/serachName")
@ResponseBody
public Object serachName(String bookName,String pageindex){
   String name=bookName;
   List<Book_info> infoList=null;
   int currentPageNo = 1;
   int pageSize=4;
   if (name==null){
      name="";
   }
   if(pageindex != null){
      try{
         currentPageNo = Integer.parseInt(pageindex);
      }catch(NumberFormatException e){
         return  "error";
      }
   }

   //总数量
   int totalCount=book_infoService.CountListBookByName(name);
   //总页数
   PageSupport pages=new PageSupport();
   pages.setCurrentPageNo(currentPageNo);//当前页码
   pages.setPageSize(pageSize);      //页面容量
   pages.setTotalCount(totalCount);   //总数量

   int totalPageCount = pages.getTotalPageCount();//总页数

   //控制首页和尾页
   if(pages.getCurrentPageNo() < 1){
      pages.setCurrentPageNo(1);
   }else if(pages.getCurrentPageNo() > totalPageCount){
      pages.setCurrentPageNo(totalPageCount);
   }
   int count = (pages.getCurrentPageNo()-1)*pageSize;//当前页码起始下标

   System.out.println("---------->>>当前页码:"+pages.getCurrentPageNo());
   System.out.println("---------->>>所有数量:"+pages.getTotalCount());
   System.out.println("---------->>>所有页数:"+pages.getTotalPageCount());
   System.out.println("---------->>>当前页下标:"+count);
   System.out.println("---------->>>关键字查询:"+bookName);

   infoList=book_infoService.BookEachforName(name,count,pageSize);
   Map<String,Object> map=new HashMap<String, Object>();
   map.put("infoList",infoList);
   map.put("bookName",name);
   map.put("totalCount",pages.getTotalCount());
   map.put("totalPageCount",pages.getTotalPageCount());
   map.put("currentPageNo",pages.getCurrentPageNo());

   return map;
}

 

效果:springboot+html页面ajax实现分页模糊查询