在以前javaEE的jsp开发中,如果两个页面传值,我们用session或者request存储,jsp页面用el表达式去取. 而现在前后端分离开发后,没用jsp,也就无法用el表达式再去取值了。这个时候H5的本地存储就可以满足我们这个需求了
html5中的本地存储(Web Storage)包括了两种存储方式:
- sessionStorage
- localStorage
localStorage和sessionStorage都具有相同的操作方法,例如setItem、getItem、removeItem、clear。下面以localStorage举例
只能存储文本
单条存储有大小限制4KB左右
数量限制 , 一般浏览器,限制大概在50条左右
时效限制
只能存储文本
存储大小5M
数量无限制
永久存储,除非手动清除
- localStorage.setItem("userName",this.userInfo.userName);
-
- this.userName = localStorage.getItem("userName");
安全性不高的数据使用本地来存储,安全性高的数据使用服务端存储。
1.sessionStorage的范围不大,当访问后关掉页面后,当前的用户名会清掉,就获取不到用户名了
2.localStorage 来存取的话,不会清除掉,永远存在
.setItem( key, value) 将value存储到key字段。
localStorage.setItem("job", "basketballplayer")
.getItem(key) 获取指定key本地存储的值。
localStorage.getItem("job")。
.removeItem(key)删除指定key本地存储的值。
localStorage.removeItem("job");
.clear() 清除所有的key/value
localStorage.clear();
localStorage 和 sessionStorage也可存储Json对象,存储时,通过JSON.stringify()将对象转换为文本格式;读取时,通过JSON.parse()将文本转换回对象。
- 例如:
-
- 要存储的JS对象
-
- user: {userName: "admin",userPwd: 123}
-
- //本地存储存储json对象
-
- sessionStorage.setItem("user",JSON.stringify(user));
-
- //取出本地存储对象
-
- var user = sessionStorage.getItem("user");
-
- //把字符串转换成json对象
-
- var jsonUser = JSON.parse(user)
-
- //取值
-
- Var userName = jsonUser.userName;
思路:
判断复选框是否被选中,选中后,获取值,存在localStorage 中,然后。。。。