电影网站增删改查-5 spring boots/MVC/neo4j/thymeleaf 源码分析 查询电影分页

首先 《电影网站增删改查-5 spring boots/MVC/neo4j/thymeleaf 源码分析 查询电影分页》  熟悉webUI 下面的目录, 包括 controller 和 view , VIEW 里面的 static 静态目录包含 CSS 和JS 和图片,

templates 下面是根据模块功能划分VIEW

展示电影信息内容

 <tbody id="tbodyContent">
</tbody>

看不到什么, 使用js 里面填充数据:
//初始化分页
pageaction();
var pg = $('.pagination');
$('#pageSelect').live("change",function(){
    pg.trigger('setPage', [$(this).val()-1]);
});


//填充分页数据
function fillData(data){
    var $list = $('#tbodyContent').empty();
    $.each(data,function(k,v){
        var html = "" ;
        html += '<tr> ' +
                '<td>'+ (v.id==null?'':v.id) +'</td>' +
                '<td>'+ (v.name==null?'':v.name) +'</td>' +
                '<td>'+ (v.createDate==null?'': getSmpFormatDateByLong(v.createDate,true)) +'</td>' ;
        html += '<td><a class="c-50a73f mlr-6" href="javascript:void(0)" onclick="detail(\''+ v.id+'\')">查看</a><a class="c-50a73f mlr-6" href="javascript:void(0)" onclick="edit(\''+ v.id+'\')">修改</a><a class="c-50a73f mlr-6" href="javascript:void(0)" onclick="del(\''+ v.id+'\')">删除</a></td>' ;
        html +='</tr>' ;

        $list.append($(html));
    });
}

分页过程:
//分页开始
var currentPageData = null ;
var pageaction = function(){
    $.get('./list?t='+new Date().getTime(),{
        name:$("#name").val()
    },function(data){
        currentPageData = data.content;
        $(".pagination").pagination(data.totalElements, getOpt());
    });
}

var pageselectCallback = function(page_index, jq, size){
    if(currentPageData!=null){
        fillData(currentPageData);
        currentPageData = null;
    }else  $.get('./list?t='+new Date().getTime(),{
            size:size,page:page_index,name:$("#name").val()
        },function(data){
            fillData(data.content);
        });
}

jquery pageaction 调用controller /list

@RequestMapping(value="/list")
public Page<Movie> list(HttpServletRequest request) throws Exception{
    String name = request.getParameter("name");
    String page = request.getParameter("page");
    String size = request.getParameter("size");
    Pageable pageable = new PageRequest(page==null? 0: Integer.parseInt(page), size==null? 10:Integer.parseInt(size),
            new Sort(Sort.Direction.DESC, "id"));

    Filters filters = new Filters();
    if (!StringUtils.isEmpty(name)) {
        Filter filter = new Filter("name", name);
        filters.add(filter);
    }

    return pagesService.findAll(Movie.class, pageable, filters);
}

然后, 分页过程执行

 fillData(data.content);
填充列表数据到tbody 中

分页过程总结 :
分页过程-初始化-pageaction View -controller- 返回list- VIEW 

其他分页支撑: 
1.引用jquery pageaction  
<script th:src="@{/scripts/pagination/jquery.pagination.js}"></script>
2.
//分页的参数设置:分页工具条及一些基本属性
var getOpt = function(){
    var opt = {
        items_per_page: 10,    //每页记录数
        num_display_entries: 3, //中间显示的页数个数 默认为10
        current_page:0,    //当前页
        num_edge_entries:1, //头尾显示的页数个数 默认为0
        link_to:"javascript:void(0)",
        prev_text:"上页",
        next_text:"下页",
        load_first_page:true,
        show_total_info:true ,
        show_first_last:true,
        first_text:"首页",
        last_text:"尾页",
        hasSelect:false,
        callback: pageselectCallback //回调函数
    }
    return opt;
}

分页结束:


//分页结束
var artdialog ;
function detail(id){
    $.get("./"+id,{ts:new Date().getTime()},function(data){
        art.dialog({
            lock:true,
            opacity:0.3,
            title: "查看信息",
            width:'750px',
            height: 'auto',
            left: '50%',
            top: '50%',
            content:data,
            esc: true,
            init: function(){
                artdialog = this;
            },
            close: function(){
                artdialog = null;
            }
        });
    });
}

    原文作者:Spring Boot
    原文地址: https://blog.csdn.net/sylmoon/article/details/78136073
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞