电影网站增删改查-4 spring boots/MVC/neo4j/thymeleaf 源码分析 实现View 新增过程

本文以电影管理为例,详细介绍了如何使用Spring Boot、MVC、Neo4j数据库和Thymeleaf模板引擎实现View层面的新增功能。通过创建layout.html作为基础布局,并在template目录下创建movie相关的HTML文件,引用布局并定义content区域。同时,将静态资源如JS和CSS放在相应目录下。在HTML中添加新增操作的逻辑,并定义create方法和处理提交的controller方法,以及数据库操作的相关代码。
摘要由CSDN通过智能技术生成

以movie新增为例, 使用thymeleaf 框架 ,预先定义好layout.html:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta http-equiv="pragma" content="no-cache" />
    <meta http-equiv="Cache-Control" content="no-cache" />
    <meta http-equiv="Cache-Control" content="no-store"/>
    <meta http-equiv="Expires" content="0" />
    <title layout:title-pattern="$DECORATOR_TITLE - $CONTENT_TITLE">UI演示</title>
    <link th:href="@{/styles/global.css}"  rel="stylesheet" type="text/css"/>
    <script th:src="@{/scripts/jquery.min.js}"></script>
    <script th:src="@{/scripts/artDialog/artDialog.js}" />
    <script th:src="@{/scripts/common.js}"></script>
    <script th:src="@{/scripts/public/public.js}"></script>
    <script th:src="@{/scripts/public/json2.js}"></script>
    <script type="text/javascript" th:src="@{/scripts/validate/jquery.validate.min.js}"></script>
   <script type="text/javascript" th:src="@{/scripts/validate/chinese.js}"></script>
</head>
<body>
<div class="headerBox">
    <div class="topBox">
        <div class="topLogo f-left">
            <a href="#"><img th:src="@{/images/logo.png}"/></a>
        </div>
        <div class="new-nav">
            <h3>
要在JSP页面中画出Neo4j中的关系图,可以使用Neo4j提供的JavaScript库,例如d3.js或者vis.js。 下面以vis.js为例,介绍如何在JSP页面中画出Neo4j中的关系图,并实现增删改查操作。 1. 在JSP页面中引入vis.js和vis-network.css文件。 ```html <link rel="stylesheet" type="text/css" href="vis-network.css"> <script type="text/javascript" src="vis.js"></script> ``` 2. 创建一个空的div元素,用于展示关系图。 ```html <div id="mynetwork"></div> ``` 3. 在JSP页面中定义一个JavaScript变量,用于存储关系图的数据。 ```javascript var nodes = new vis.DataSet([ {id: 1, label: 'Node 1'}, {id: 2, label: 'Node 2'}, {id: 3, label: 'Node 3'}, {id: 4, label: 'Node 4'}, {id: 5, label: 'Node 5'} ]); var edges = new vis.DataSet([ {from: 1, to: 2}, {from: 1, to: 3}, {from: 2, to: 4}, {from: 2, to: 5} ]); var data = { nodes: nodes, edges: edges }; ``` 4. 使用Neo4j提供的REST API获取数据,并将数据转换成vis.js需要的格式。 例如,使用Neo4j的REST API获取所有节点和关系: ```javascript var xhr = new XMLHttpRequest(); xhr.open("GET", "http://localhost:7474/db/data/transaction/commit", true); xhr.setRequestHeader("Content-Type", "application/json"); xhr.onreadystatechange = function () { if (xhr.readyState === 4 && xhr.status === 200) { var response = JSON.parse(xhr.responseText); var nodes = response.results[0].data.map(function (row) { return {id: row.graph.nodes[0].id, label: row.graph.nodes[0].labels[0]}; }); var edges = response.results[0].data.map(function (row) { return {from: row.graph.relationships[0].startNode, to: row.graph.relationships[0].endNode}; }); var data = { nodes: new vis.DataSet(nodes), edges: new vis.DataSet(edges) }; var container = document.getElementById('mynetwork'); var options = {}; var network = new vis.Network(container, data, options); } }; xhr.send(JSON.stringify({statements: [{statement: "MATCH (n)-[r]->(m) RETURN n,r,m"}]})); ``` 5. 使用vis.js提供的API实现增删改查操作。 例如,添加一个节点: ```javascript var newNode = {id: 6, label: 'Node 6'}; nodes.add(newNode); ``` 删除一个节点: ```javascript nodes.remove(6); ``` 更新一个节点: ```javascript var updatedNode = {id: 1, label: 'Updated Node 1'}; nodes.update(updatedNode); ``` 查询一个节点: ```javascript var node = nodes.get(1); ``` 以上就是在JSP页面中使用vis.js画出Neo4j中的关系图,并实现增删改查操作的步骤。需要注意的是,使用Neo4j的REST API获取数据时需要设置跨域请求的头部信息,否则会出现跨域请求失败的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值