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

电影列表分页实现
本文介绍了一个基于Web UI的电影信息展示系统中的分页功能实现细节。通过前端JavaScript与后端交互,完成电影数据的分页加载、展示,并提供查看、修改、删除等操作。

首先   熟悉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;
            }
        });
    });
}

为了创建 Neo4j 的标准目录结构,建议包括以下目录:`data`、`logs`、`conf`、`import` 和 `plugins`。这些目录分别用于存储数据库文件、日志文件、配置文件、导入数据以及插件。可以通过手动创建这些目录并设置适当的权限来完成。 下面是一个创建 Neo4j 所需目录结构的示例脚本: ```bash # 创建主目录 mkdir -p neo4j-community # 进入主目录 cd neo4j-community # 创建所需的子目录 mkdir -p data logs conf import plugins # 查看创建的目录结构 ls -la ``` 此脚本创建了一个名为 `neo4j-community` 的主目录,并在其中创建了 `data`、`logs`、`conf`、`import` 和 `plugins` 子目录。`-p` 参数确保即使父目录不存在也会被创建,并且不会报错如果目录已经存在。 ### 权限设置 确保 Neo4j 服务有权限访问这些目录。通常情况下,需要将这些目录的所有权分配给运行 Neo4j 服务的用户。例如,在 Linux 系统上,可以使用以下命令: ```bash # 假设 Neo4j 服务由 neo4j 用户运行 chown -R neo4j:neo4j neo4j-community ``` ### 配置文件 配置文件通常位于 `conf` 目录中。在 Neo4j 社区版中,主要的配置文件是 `neo4j.conf`。可以在此文件中设置数据库的各种参数,例如启用 GDS 插件: ```properties # 启用 GDS 插件 dbms.security.procedures.unrestricted=gds.* dbms.security.procedures.allowlist=gds.* ``` ### 数据目录 `data` 目录用于存储 Neo4j 数据库的核心文件,包括图数据和索引等。默认情况下,Neo4j 会将数据库文件存储在 `data/databases` 目录下。 ### 日志目录 `logs` 目录用于存储 Neo4j 的日志文件,包括启动日志、运行日志和错误日志等。这些日志文件对于调试和监控 Neo4j 服务非常有用。 ### 导入目录 `import` 目录用于存放通过 `neo4j-admin import` 命令导入的数据文件。这个命令行工具允许用户从 CSV 文件中批量导入数据到 Neo4j 数据库中 [^4]。 ### 插件目录 `plugins` 目录用于存放 Neo4j 插件,如 APOC(Awesome Procedures On Cypher)和 Graph Data Science(GDS)库等。这些插件可以扩展 Neo4j 的功能,提供更多的图算法和操作支持 [^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值