note_cloud--加载笔记列表
来源:互联网 发布:python and 编辑:程序博客网 时间:2024/06/01 12:00
加载笔记列表
-----------------------------------------------------------------------------------------------------------
发送ajax请求
发送事件:笔记本li的点击
请求参数:笔记本ID(userId)
请求地址:/note/loadnotes.do
服务器的处理
/note/loadnotes.do
LoadNoteController.execute
NoteService.loadBookNotes
1.定义接口文件NoteService.loadBookNotes(bookId)
2.构建Result-set方法
将List<Map<String,Object>>放入Result
NoteDao.findByBookId(bookId)
1.接口文件定义方法
配置mapper文件
cn_note(根据bookId & cn_note-status_id='1'进行select操作) cn_note-status_id表示笔记的状态,等于1表示可用,没有进入回收站
ajax回调处理
success:
成功:解析json数据,生成笔记LI,添加到笔记列表中
error:alert("笔记加载失败")
-----------------------------------------------------------------------------------------------------------
实体类部分代码:
package cn.tedu.cloud_note.entity;import java.io.Serializable;/** * 笔记 cn_note * mysql的整型类型有这样几种: * 类型 占用字节 * tinyint 1 * smallint 2 * mediumint 3 * int 4 * bigint 8 */public class Note implements Serializable {private String cn_note_id;private String cn_notebook_id;private String cn_user_id;private String cn_note_status_id;private String cn_note_type_id;private String cn_note_title;private String cn_note_body;private Long cn_note_create_time;//bigint类型private Long cn_note_last_modify_time;//bigint类型
-----------------------------------------------------------------------------------------------------------
Dao接口(映射器)
package cn.tedu.cloud_note.dao;import java.util.List;import java.util.Map;public interface NoteDao {//根据笔记本ID查询笔记(包括笔记的id和笔记的title)public List<Map<String,Object>> findByBookId(String bookId);}
-----------------------------------------------------------------------------------------------------------
映射文件:
<mapper namespace="cn.tedu.cloud_note.dao.NoteDao"> <!-- 根据笔记本ID查找笔记(包括笔记的id和笔记的title也可以使用*全部查询出来) --> <select id="findByBookId" parameterType="string" resultType="map"> select cn_note_id,cn_note_title from cn_note where cn_notebook_id = #{bookId} and cn_note_status_id = '1' </select></mapper>
-----------------------------------------------------------------------------------------------------------
业务层接口:
package cn.tedu.cloud_note.service;import java.util.List;import java.util.Map;import cn.tedu.cloud_note.util.NoteResult;public interface NoteService {//根据bookId查询cn_note表返回笔记的列表(只需要其中两个数据即可)public NoteResult<List<Map<String,Object>>> loadBookNotes(String bookId);}
-----------------------------------------------------------------------------------------------------------
业务层实现类:
package cn.tedu.cloud_note.service;import java.util.List;import java.util.Map;import javax.annotation.Resource;import org.springframework.stereotype.Service;import cn.tedu.cloud_note.dao.NoteDao;import cn.tedu.cloud_note.util.NoteResult;@Service("noteService")public class NoteServiceImpl implements NoteService {@Resource(name="noteDao")private NoteDao dao;public NoteResult<List<Map<String, Object>>> loadBookNotes(String bookId) {NoteResult<List<Map<String, Object>>> result =new NoteResult<List<Map<String, Object>>>();List<Map<String, Object>> list = dao.findByBookId(bookId);result.setStatus(0);result.setMsg("加载笔记成功");result.setData(list);return result;}}
-----------------------------------------------------------------------------------------------------------
控制层Controller:
package cn.tedu.cloud_note.controller;import java.util.List;import java.util.Map;import javax.annotation.Resource;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import cn.tedu.cloud_note.service.NoteService;import cn.tedu.cloud_note.util.NoteResult;@Controller@RequestMapping("/note")public class LoadNoteController {@Resource(name="noteService")private NoteService service;@ResponseBody@RequestMapping("/loadnotes.do")public NoteResult<List<Map<String,Object>>> execute(String bookId){NoteResult<List<Map<String,Object>>> result = service.loadBookNotes(bookId);return result;}//测试:http://localhost:8080/cloud_note/note/loadnotes.do?bookId=1db556b9-d1dc-4ed9-8274-45cf0afbe859}
-----------------------------------------------------------------------------------------------------------
HTML部分代码:
$(function(){ //加载笔记列表 loadUserBooks(); //动态绑定笔记本单击事件--此处若使用$("#book_ul li").click(function(){})没有反应 $("#book_ul").on("click","li",function(){//动态绑定 //去掉之前选中的效果 $("#book_ul a").removeClass("checked"); //设置选中效果 $(this).find("a").addClass("checked"); //获取笔记本ID var bookId = $(this).data("bookId"); //alert("笔记本的ID是:"+bookId);//1db556b9-d1dc-4ed9-8274-45cf0afbe859 action笔记 //发送ajax $.ajax({ url:path + "/note/loadnotes.do", type:"post", data:{"bookId":bookId}, dataType:"json", success:function(result){ //先清空ul下面的所有li $("#note_ul").empty(); //接收数据 var list = result.data; //循环添加li for(var i=0;i<list.length;i++){ //获取笔记的ID var noteId = list[i].cn_note_id; //获取笔记的标题 var noteTitle = list[i].cn_note_title; //创建笔记LI列表 createNoteLi(noteId,noteTitle); } }, error:function(){alert("加载笔记本列表失败");} }); }); });
-----------------------------------------------------------------------------------------------------------
调用的JS文件:
//创建笔记的一个lifunction createNoteLi(noteId,noteTitle){ var $li = $('<li class="online">'+'<a>'+'<i class="fa fa-file-text-o" title="online" rel="tooltip-bottom"></i>'+ noteTitle + '<button type="button" class="btn btn-default btn-xs btn_position btn_slide_down"><i class="fa fa-chevron-down"></i></button>'+ '</a>'+'<div class="note_menu" tabindex="-1">'+'<dl>'+'<dt><button type="button" class="btn btn-default btn-xs btn_move" title="移动至..."><i class="fa fa-random"></i></button></dt>'+'<dt><button type="button" class="btn btn-default btn-xs btn_share" title="分享"><i class="fa fa-sitemap"></i></button></dt>'+'<dt><button type="button" class="btn btn-default btn-xs btn_delete" title="删除"><i class="fa fa-times"></i></button></dt>'+'</dl>'+'</div>'+'</li>'); //保存noteId $li.data("noteId",noteId); $("#note_ul").append($li);}
-----------------------------------------------------------------------------------------------------------
测试结果:
- note_cloud--加载笔记列表
- note_cloud--笔记本加载功能
- note_cloud--创建笔记
- note_cloud--笔记分享功能
- note_cloud--删除笔记功能
- note_cloud--显示笔记下拉菜单
- note_cloud--编辑区域中的“保存笔记”--更新笔记信息
- note_cloud--单击笔记使笔记标题和内容显示在编辑区域
- note_cloud--搜索笔记功能(已经分享了的笔记)(两个功能)
- note_cloud--登录功能
- note_cloud--注册功能
- note_cloud--创建笔记本
- note_cloud--修改密码功能
- OSChina_IOS版客户端笔记(三)_列表数据加载
- mvc3 + easyui 开发学习笔记------- easyui combobox 加载列表项
- 列表笔记
- 动态加载列表框
- 从属性列表加载数据
- 2017 多校系列 2
- 欧拉函数应用
- 40个Java多线程问题总结
- 1095. Cars on Campus (30) <结构体排序>
- C
- note_cloud--加载笔记列表
- Android图片优化,减少内存压力,提高app流畅度
- Ehcache教程(一)----Ehcache简介
- bzoj1395: [Baltic2005]Trip
- Linux 内核编译
- Python学习手册1-模块
- 搜狗实习面试总结
- CSU-ACM2017暑期训练3-递推与递归I
- Linux常用命令--文件管理一