note_cloud--笔记分享功能
来源:互联网 发布:马云开淘宝网怎么赚钱 编辑:程序博客网 时间:2024/06/15 22:11
------------------------------------------------------------------------------------------------
发送请求
发送事件:点击“分享”事件
请求参数:noteId
请求地址:/share/add.do
服务器处理
创建Share的实体类
Controller
Service
Dao
cn_share(insert)
回调处理
success:
1.增加图标处理<i class="fa fa-sitemap"></i>
2.提示分享成功
error:
提示分享失败
------------------------------------------------------------------------------------------------
实体类:
public class Share implements Serializable{private String cn_share_id;private String cn_share_title;private String cn_share_body;private String cn_note_id;
------------------------------------------------------------------------------------------------
Dao接口:
package cn.tedu.cloud_note.dao;import cn.tedu.cloud_note.entity.Share;public interface ShareDao {//分享笔记(插入数据)public void share(Share share);}
------------------------------------------------------------------------------------------------
业务层接口:
package cn.tedu.cloud_note.service;import cn.tedu.cloud_note.util.NoteResult;public interface ShareService {//分享笔记public NoteResult<Object> shareNote(String noteId);}
------------------------------------------------------------------------------------------------
业务层实现类;
package cn.tedu.cloud_note.service;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.dao.ShareDao;import cn.tedu.cloud_note.entity.Share;import cn.tedu.cloud_note.util.NoteResult;import cn.tedu.cloud_note.util.NoteUtil;@Service("shareService")public class ShareServiceImpl implements ShareService {@Resource(name="shareDao")private ShareDao shareDao;@Resource(name="noteDao")private NoteDao noteDao;//分享笔记public NoteResult<Object> shareNote(String noteId) {NoteResult<Object> result= new NoteResult<Object>();//实例化ShareShare share = new Share();share.setCn_note_id(noteId);//获取idString shareId = NoteUtil.createId();share.setCn_share_id(shareId);//主键//根据传入的参数noteId查找出其余所需的参数Map<String,String> map = noteDao.findByNoteId(noteId);String noteTitle = map.get("cn_note_title");String noteBody = map.get("cn_note_body");share.setCn_share_title(noteTitle);share.setCn_share_body(noteBody);//分享笔记shareDao.share(share);result.setStatus(0);result.setMsg("分享笔记成功");return result;}}
注意事项:
1.Share有4个属性,在业务层中要对其进行实例化,并调用Dao时传入
2.ajax中发送请求参数noteId,在业务层中通过noteId访问数据库查到noteTitle和noteBody用于给Share的属性赋值,还有一个属性通过UUID获取
------------------------------------------------------------------------------------------------
控制层Controller:
package cn.tedu.cloud_note.controller;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.ShareService;import cn.tedu.cloud_note.util.NoteResult;@Controller@RequestMapping("/share")public class ShareController {@Resource(name="shareService")private ShareService service;//分享笔记@RequestMapping("/add.do")@ResponseBodypublic NoteResult<Object> execute(String noteId){NoteResult<Object> result = service.shareNote(noteId);return result;}}
------------------------------------------------------------------------------------------------
HTML部分代码:
//笔记下拉按钮的分享功能(单击分享,成功后弹窗提示成功)$("#note_ul").on("click",".btn_share",share);
------------------------------------------------------------------------------------------------
引用的JS代码:
//分享笔记function share(){ //获取请求参数--$(this)表示当前点击的jQuery var $li = $(this).parents("li"); var noteId = $li.data("noteId"); //alert(noteId); //发送ajax $.ajax({ url:path + "/share/add.do", type:"post", data:{"noteId":noteId}, dataType:"json", success:function(result){ if(result.status == 0){//回调成功 //新节点的图标(title还可以通过$li.text()获取) var a = '<i class="fa fa-file-text-o" title="online" rel="tooltip-bottom"></i>'+ $li.text() + '<i class="fa fa-sitemap"></i>'+ '<button type="button" class="btn btn-default btn-xs btn_position btn_slide_down"><i class="fa fa-chevron-down"></i></button>'; //将笔记的li元素的<a>标记内容替换 $li.find("a").html(a); //提示分享成功 alert(result.msg); } }, error:function(){alert("分享笔记失败");} }); }
注意事项:
1.$(this).parents("li")获取笔记列表的li(jQuery对象)
2.回调函数中对li中的<a>标签进行了重新定义
3.$li.text()可以获得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--单击笔记使笔记标题和内容显示在编辑区域
- ”分享“功能
- 分享功能
- 分享功能
- 分享功能
- 分享功能
- 工厂模式
- 正则表达式学习参考
- redis简介
- 一款便携式4G高清激光夜视取证仪
- ZooKeeper 学习 (四) ZooKeeper Java客户端API使用
- note_cloud--笔记分享功能
- Mysterious Bacteria
- 算法竞赛入门经典(第二版)紫书-题目集合【例题+习题】
- 源码分析RocketMQ之CommitLog消息存储机制
- 51nod 1285 山峰和分段
- 一步一步写正则 1:金额正则表达式
- UVa272-TEX Quotes
- asm添加删除磁盘
- 【POJ 1287】Networking(最小生成树-水题)