java版云笔记(五)
下来是创建笔记本,创建笔记,这个没什么难点和前面是一样的。
创建笔记本
首先点击“+”弹出添加笔记的对话框,然后点击确定按钮创建笔记本。
//点击"+"弹出添加笔记本对话框
$("#add_notebook").click(alertAddBookWindow);
//弹出创建笔记本对话框
function alertAddBookWindow(){
//弹出添加笔记本对话框
$("#can").load("alert/alert_notebook.html");
//显示对话框灰色背景(使用class="opacity_bg"选择)
$(".opacity_bg").show();
};
接下来创建笔记本
//创建笔记本
$("#can").on("click","#book_addsure",sureAddBook);
发送Ajax请求
- 发送事件:对话框中的"创建"按钮的单击
- 请求参数:笔记本名称,用户ID
- 请求地址:/book/add.do
服务器端处理
/book/add.do
-->AddBookController.execute
-->BookService.addBook
-->BookDao.save
-->cn_notebook(insert)
-->返回JSON结果
Ajax回调处理
- success:
- a.关闭对话框;
- b.添加一个笔记本li
- c.提示创建笔记本成功
- error:提示创建笔记本失败
此时,保存成功后alert提示框关闭不了,这是因为这里的alert是经过处理过的,要想关闭就要对它进行处理
aler提示框处理
添加关闭提示框的代码
//关闭对话框,对所有的对话框都有用
$("#can").on("click",".cancle,.close",closeAlertWindow);
代码为:
//关闭对话框
function closeAlertWindow(){
$("#can").html("");//清空对话框内容
$(".opacity_bg").hide();//隐藏背景色
};
如果要修改alert提示框的样式可以用
- window.alert=function(e){};
创建笔记
创建笔记和创建笔记本几乎是一样的,都是点击“+”弹出窗口,然后点击确定触发创建笔记的事件。
//弹出创建笔记对话框
function alertAddNoteWindow(){
//判断是否有笔记本选中
var $li = $("#book_ul a.checked").parent();
if($li.length==0){
alert("请选择笔记本");
}else{//弹出对话框
$("#can").load("alert/alert_note.html");
$(".opacity_bg").show();
}
};
发送Ajax请求
- 发送事件:对话框中"创建"按钮的单击
- 请求参数:笔记名称,选中的笔记本ID,
用户ID - 请求地址:/note/add.do
服务器端处理
/note/add.do
-->AddNoteController.execute
-->NoteService.addNote
-->NoteDao.save
-->cn_note(insert操作)
-->返回JSON结果
Ajax回调处理
- success:
- a.关闭对话框
- b.解析返回的JSON结果,生成一个笔记li元素添加到列表中
- c.提示创建笔记成功
- error:提示创建笔记失败
笔记删除
功能描述:
单击笔记菜单的"X"按钮时,弹出删除对话框,点击对话框中的"删除"按钮,执行删除操作。
发送Ajax请求
- 发送事件:对话框中"删除"按钮的单击
- 请求参数:选中li的笔记ID
- 请求地址:/note/delete.do
服务器端处理
/note/delete.do
-->DeleteNoteController.execute
-->NoteService.deleteNote
-->NoteDao.updateStatus
-->cn_note(按笔记ID将cn_note_status_id更新为"2")
-->返回JSON结果
Ajax回调处理
- success:a.移除列表中删除的笔记li元素
b.提示笔记删除成功 - error:提示笔记删除失败
笔记转移
功能描述:
单击笔记菜单的"转移至.."按钮,弹出笔记转移对话框,在对话框下拉列表中,选择要转入的笔记本项,点击确定转移按钮执行转移操作。
发送Ajax请求
- 发送事件:对话框中"确定"按钮的单击
- 请求参数:选中项的笔记ID,要转入的笔记本ID
(格式检查:a.要转入笔记本是否和原笔记本相同;) - 请求地址:/note/move.do
服务器端处理
/note/move.do
-->MoveNoteController.execute
-->NoteService.moveNote
-->NoteDao.updateBookId
-->cn_note(按笔记ID将cn_notebook_id更新)
-->返回JSON结果
Ajax回调处理
- success:a.移除笔记列表li元素;
b.提示笔记转移成功 - error:提示笔记转移失败
笔记分享
功能描述:
用户点击笔记菜单中"分享"按钮,执行分享操作。
本质:对cn_share(分享笔记表)进行insert
发送Ajax请求
- 发送事件:菜单中的"分享"按钮的单击
- 请求参数:笔记ID
- 请求地址:/share/add.do
服务器端处理
/share/add.do
-->ShareNoteController.execute
-->ShareService.shareNote
-->ShareDao.save-->cn_share(insert)
-->返回JSON结果
Ajax回调处理
success:提示用户分享成功;
扩展:添加图标,就是在加载笔记时加判断,当笔记的type标志位为3时加分享图标
分享笔记搜索
功能描述:
用户在搜索输入框输入"关键词",按回车触发搜索操作。
本质:对cn_share表进行cn_share_title
模糊查询
select * from cn_share
where cn_share_title like '%java%';
发送Ajax请求
- 发送事件:输入框中按回车键
- 请求参数:输入框中的内容(关键词)
- 请求地址:/share/search.do
服务器端处理
/share/search.do
-->ShareSearchController.execute
-->ShareService.searchNote
-->ShareDao.findLikeTitle
-->cn_share(模糊搜索)
-->返回JSON结果
Ajax回调处理
- success:a.解析JSON结果生成搜索结果列表
b.将搜索结果列表显示;其他列表隐藏(pc_part_6显示)
pc_part_2 全部笔记列表
pc_part_4 回收站笔记列表
pc_part_6 搜索结果列表
pc_part_7 收藏笔记列表
pc_part_8 参加活动的笔记列表
- error:提示搜索失败
知识点
按回车键触发js事件
$("#search_note").keydown(function(event){
var code = event.keyCode;//获取键盘的code码
if(code==13){
//回车键,获取关键词,发送Ajax请求
}
});
搜索分享笔记的查看
功能描述:
用户单击搜索结果列表中的li,发送Ajax请求去cn_share获取分享笔记信息,显示到预览笔记区域。(pc_part_5显示,pc_part_3隐藏)
发送Ajax请求
- 发送事件:搜索结果列表的li元素
- 请求参数:分享ID shareId
- 请求地址:/share/load.do
服务器端处理
/share/load.do
-->LoadShareController.execute
-->ShareService.loadShare
-->ShareDao.findById-->cn_share
-->返回JSON结果(Share对象)
Ajax回调处理
- success:解析JSON结果中的Share内容,显示到预览笔记区域.
搜索分享笔记(分页处理)
/share/search.do(传递查询关键字和第几页)
-->Controller(接收请求和参数)
-->Service(接收参数,处理参数)
关键字前后追加%;根据第几页计算抓取起点
-->Dao (SQL: limit 起点,5)
-->返回指定第几页的记录结果
分页查询
select * from cn_share limit n,m;
n:抓取记录的起点,从0开始算(0表示第1条)
m:抓取记录的最大数
这些就是这个项目的主要功能,做到这里差不多主要部分就算完了。大家可以把登录的页面的登录设置为按回车进行登录,注册也一样,删除的回收站,笔记本收藏,分享也都可以做下。
java版云笔记(五)的更多相关文章
- java版云笔记(九)之动态sql
SQL 首先,所谓SQL的动态和静态,是指SQL语句在何时被编译和执行,二者都是用在SQL嵌入式编程中的,这里所说的嵌入式是指将SQL语句嵌入在高级语言中,而不是针对于单片机的那种嵌入式编程. 静态S ...
- java版云笔记(七)之事务管理
事务管理 事务:程序为了保证业务处理的完整性,执行的一条或多条SQL语句. 事务管理:对事务中的SQL语句进行提交或者回滚. 事物管理对于企业应用来说是至关重要的,好使出现异常情况,它也可以保证数据的 ...
- java版云笔记(二)
云笔记 基本的环境搭建好了,今天做些什么呢,第一是链接数据库(即搭建Spring-Batistas环境),第二是登录预注册. 注:这个项目的sql文件,需求文档,需要的html文件,jar包都可以去下 ...
- java版云笔记(一)
云笔记项目 这个项目的sql文件,需求文档,需要的html文件,jar包都可以去下载,下载地址为:http://download.csdn.net/download/liveor_die/998584 ...
- java版云笔记(八)之关联映射
Mybatis关联映射 通过数据库对象之间的关联关系,反映到到实体对象之间的引用. 加载多个表中的关联数据,封装到我们的实体对象中. 当业务对数据库进行关联查询. 关联 <association ...
- java版云笔记(六)之AOP
今天主要是利用aop技术追加service的响应时间的计算和异常的日志记录. AOP AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object O ...
- java版云笔记(四)
页面的笔记本加载完成了,接下来就是点击笔记本显示将笔记显示,同时把笔记在右边的编辑器中,同时把编辑后的笔记更新. 注:这个项目的sql文件,需求文档,需要的html文件,jar包都可以去下载,下载地址 ...
- java版云笔记(三)
登录与注册写好了下来就是主页,今天写的是主页加载时笔记本列表的显示,ajax是固定的就不重点说了.主要说一下jQuery.data() 函数和jQuery.on() 函数. 注:这个项目的sql文件, ...
- 第五篇 :微信公众平台开发实战Java版之如何获取公众号的access_token以及缓存access_token
一.access_token简介 为了使第三方开发者能够为用户提供更多更有价值的个性化服务,微信公众平台 开放了许多接口,包括自定义菜单接口.客服接口.获取用户信息接口.用户分组接口.群发接口等, 开 ...
随机推荐
- [您有新的未分配科技点]博弈论进阶:似乎不那么恐惧了…… (SJ定理,简单的基础模型)
这次,我们来继续学习博弈论的知识.今天我们会学习更多的基础模型,以及SJ定理的应用. 首先,我们来看博弈论在DAG上的应用.首先来看一个小例子:在一个有向无环图中,有一个棋子从某一个点开始一直向它的出 ...
- 【BZOJ1396】识别子串&【BZOJ2865】字符串识别(后缀自动机)
[BZOJ1396]识别子串&[BZOJ2865]字符串识别(后缀自动机) 题面 自从有了DBZOJ 终于有地方交权限题了 题解 很明显,只出现了一次的串 在\(SAM\)的\(right/e ...
- 【CodeChef】Chef and Graph Queries
Portal --> CC Chef and Graph Queries Solution 快乐数据结构题(然而好像有十分优秀的莫队+可撤销并查集搞法qwq) 首先考虑一种方式来方便一点地..计 ...
- MATLAB2010安装方法
MATLAB2010安装方法 第一步选择无网络安装. 选择yes,然后点击next 激活序列号在crack文件夹中的txt文档中 这一步按照图片上的显示操作就可以 选择经典安装 按提示操作,这一步事激 ...
- 使用pt-ioprofile监控数据库io文件读写情况
我们在做IO密集型的应用程序的时候,比如MySQL数据库,通常系统的表现取决于workload的类型. 比如我们要调优,我们就必须非常清楚的知道数据的访问规律,收集到足够的数据,用来做调优的依据. 有 ...
- bzoj 1510 [POI2006]Kra-The Disks 二分
1510: [POI2006]Kra-The Disks Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 466 Solved: 272[Submit][ ...
- 「Linux」VMware安装centos7(一)
1.点击:创建虚拟机 2.选择:自定义(高级),下一步 3.点击:下一步 4.选择:稍后安装操作系统,下一步 5.选择:操作系统和对应的版本,下一步 6.设置:虚拟机名称和安装位置,下一步 7.设置: ...
- 前端PHP入门-009-匿名函数
想想JavaScript当中是否有这个概念? 所谓匿名,就是没有名字. 匿名函数,也就是没有函数名的函数. 匿名函数的第一种用法,直接把赋数赋值给变量,调用变量即为调用函数. 匿名函数的写法比较灵活. ...
- html中<meta>标签
这个是html文档一般都有的元素. 1. 介绍 元素基本所有浏览器都支持,它提供页面的元信息,比如描述.关键字.web服务等 位于文档头部的内部,将以名称/值对出现 2. 属性 注意:如果没有name ...
- Atcoder #017 agc017 D.Game on Tree 树上NIM 博弈
LINK 题意:树上NIM的模板题,给出一颗树,现有操作删去端点不为根节点的边,其另一端节点都将被移除,不能取者为败 思路:一看就是个NIM博弈题,只是搬到树上进行,树上DFS进行异或 记得#014D ...