写完报错No mapping found for HTTP request with URI
当时是写了一个请求,但是报错404.什么都看了。就是没错。百度解决
解决:Spring配置文件中添加(要Spring3.0.5以上才可以)
<mvc:default-servlet-handler/>
因为走的是DispatcherServlet。设置的*.do 找不到就会报404错误。
为什么没有找到。。。。只好添加这个实现
登录成功,进入主界面,显示登录用户的笔记本列表
大概流程:
客户端处理
客户端:主要是因为login.html登录成功了后设置了cookie。在cookie里面添加了uid。存在了浏览器中。然后让其跳转到edit.html页面。edit.html页面开始就先获取cookie中的uid值。然后向服务器请求。通过userId来获取data数据
a.发请求
主界面发送请求
$(function(){})//页面载入执行发送请求
提交数据 :用户ID 从cookie取 登录成功添加cookie,存储id信息
b.回调函数
服务端处理
/notebook/loadbooks.do
–>DispatcherServlet
–>HandlerMapping
–>LoadBooksController.execute
–>NoteBookService
–>NoteBookDao–>cn_notebook
–>返回NoteResult JSON数据,显示笔记本列表
添加和删除cookie出错~~~弄了个cookieutil.js
function getCookie(objName) {
// var arrStr = document.cookie.split("; ");
for ( var i = 0; i < arrStr.length; i++) {
var temp = arrStr[i].split("=");
if (temp[0] == objName)
return unescape(temp[1]);
}
return "";
}
function addCookie(objName, objValue, objHours) {
var str = objName + "=" + escape(objValue);
if (objHours > 0) {
var ms = objHours * 3600 * 1000;
var date = new Date();
date.setTime(date.getTime() + ms);
str += "; expires=" + date.toGMTString();
}
document.cookie = str;
}
function setCookie(name, value) {
var exp = new Date();
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
}
function delCookie(name) {
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval = getCookie(name);
if (cval != null) {
document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
}
}
加载笔记列表(单击某个笔记本,加载笔记信息显示)
客户端:
a.发送请求
笔记本li单击。发送ajax请求
提交的数据,就是点击li的绑定的bookId值
b.回调函数
获取服务器返回的json,将笔记信息显示成笔记列表
/note/loadnotes.do
–>DispatcherServlet
–>HandlerMapping
–>LoadNotesController.execute
–>NoteService
–>NoteDao–>cn_note
返回NoteResult
jQ如何绑定未来出现的元素
使用jQ.on();
//给现有或未来匹配元素绑定事件
$("#book_list").on("click","li",function(){
alert("~~~");
});
执行~,并没有 jQ对象.on(“事件类型”,”选择器”,function)
选择器是从这个jQ对象里面的找
嗯,写了没有找到!!!无奈,检测,研究。发现我绑定数据的地方出错
改为
//将s_li字符串转成jQ对象,藏bookId;
var $li = $(s_li);
$("#book_list").append($li);
$li.data("bookId",bookId);
之前是
//将s_li字符串转成jQ对象,藏bookId;
var $li = $(s_li);
$("#book_list").append(s_li);
$li.data("bookId",bookId);
添加的不是Jq对象!!!!所以检查不到数据~~~
实现蒙纱
只要先写个空的div。设置其样式。然后设置为hide()。调用的时候设置为show()就可以了。
弹出对话框利用load
怎么弹出一个有很好样式的对话框。
先写一个div。空的
然后利用jQ的load方法让这个$(div)load(url)来调用。就可以将请求的html载入这个div~就实现了要注意编码问题!!!
将写js函数抽出。
然后调用的时候,参数是函数名!不要加括号
$("#book_list").on("click","li",loadnotes);
创建笔记本
然后创建笔记本
客户端
发送请求,单击创建按钮,发送请求
提交数据: 笔记本名称,用户ID
回调函数
成功:关闭对话框,添加一个笔记本li
失败:给出提示信息
服务端:
/notebook/add.do
–>DispatcherServlet
–>HandlerMapping
–>AddBookController.execute
–>NoteBookService
–>NoteBookDao–>cn_notebook(插入)
返回 NoteResult JSON
其实大体流程都是一样的~
涉及到javascript的时候用eclipse就真的很容易出错。。。
实现效果
云笔记的登录与显示登录的笔记本。点击显示笔记本列表我写的笔记链接
https://app.yinxiang.com/shard/s56/nl/12287602/993f6d79-eea2-4a33-9d7b-70a17aad0bc1