使用jQuery获取session中存储的list集合
在网上查找了很多关于jQuery获取session都不可得,如果大家有更好的方式,欢迎留言
这里是使用jQuery发送Ajax请求到后台获取session
jsp中没有代码
js代码
<script type="text/javascript">
//这里是一个私有方法,用来获取项目根路径,这个方法在js的最底部,有兴趣的可以查看
var basePath = getRootPath();
$(function(){
//使页面刚加载完成就去取得session
getSession();
});function getSession(){
$.ajax({
url:basePath + "/getSession",
type:"GET",
async:false,//false代表只有在等待ajax执行完毕后才执行
success:function(result){
//这里在控制台将session数据打印出来
console.log(result);
//如果要取list中具体的数据,可以点其下的内容依次取得,具体的可以看控制台打印的内容,那个层次很清晰
/* console.log(result.data);
console.log(result.data.userSession);
console.log(result.data.userSession[0]); */
}
});
} /**
* 获取项目根路径,如: http://localhost:8083/ssm-dynamic
* @returns
*/
function getRootPath(){
//获取当前网址,如: http://localhost:8083/ssm-dynamic/jsp/jsonList.jsp
var curWwwPath=window.document.location.href;
//获取主机地址之后的目录,如: ssm-dynamic/jsp/jsonList.jsp
var pathName=window.document.location.pathname;
var pos=curWwwPath.indexOf(pathName);
//获取主机地址,如: http://localhost:8080
var localhostPaht=curWwwPath.substring(0,pos);
//获取带"/"的项目名,如:/ssm-dynamic
var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1);
return(localhostPaht+projectName);
}
</script>
controller代码
存储session的代码
@RequestMapping(value="/",method=RequestMethod.GET)
public String sayHello(HttpSession session){
List<User> users = loginService.selectAll();
session.setAttribute("users", users);
return "login";
}
获取session的代码
//指定url地址,与上述的Ajax发送请求的url要一致;指定请求方式,与上述的Ajax请求的type要一致
@RequestMapping(value="/getSession",method=RequestMethod.GET)
//加@ResponseBody是为了可以返回json数据
@ResponseBody
public Msg getSession(HttpSession session){
//取得之前添加的session数据
List<User> users = (List<User>) session.getAttribute("users");
//将session的数据放在自定义的msg类中,下面会展示该类
return Msg.success().add("userSession", users);
}
Msg.java
import java.util.HashMap;
import java.util.Map; /**
* 通用的返回类
* @author ws
*
*/
public class Msg {
/**
* 状态码
* 100:成功
* 200:失败
*/
private int code;
/**
* 提示信息
*/
private String msg;
/**
* 用户要返回给浏览器的数据
*/
private Map<String, Object> data = new HashMap<String,Object>(); public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Map<String, Object> getData() {
return data;
}
public void setData(Map<String, Object> data) {
this.data = data;
} /**
* 处理成功
* @return
*/
public static Msg success(){
Msg msg = new Msg();
msg.setCode(100);
msg.setMsg("处理成功");
return msg;
} /**
* 处理失败
* @return
*/
public static Msg fail(){
Msg msg = new Msg();
msg.setCode(200);
msg.setMsg("处理失败");
return msg;
} /**
* 以键值对添加数据
* @param key
* @param value
* @return
*/
public Msg add(String key, Object value) {
this.getData().put(key, value);
return this;
}
}
这样,在浏览器控制台(一般按F12即可打开)就可以看到效果了

至此大功告成
大家如果有可以不适用ajax的方式即可取得session,欢迎留言,共同探讨
使用jQuery获取session中存储的list集合的更多相关文章
- 获取session中存储的所有值的方法
记录一个获取系统中session存储的对象都有哪些的方法 HttpSession session = request.getSession(); for ( Enumeration e = sessi ...
- jquery在元素中存储数据:data()
转自:http://www.php.cn/js-tutorial-405445.html 在元素中存储数据:data() 1 2 3 4 5 6 7 8 9 10 <!DOCTYPE html& ...
- jsp获取Session中的值
摘要:这个问题算是老生常谈了,我也是一段时间没弄过了,所以感觉有些忘了,就记录一下. 一.后端通过shiro在session中存储数据: // username是前台传过来的用户名 if (subje ...
- Js/Jquery获取iframe中的元素
转载: Js/Jquery获取iframe中的元素 - - ITeye技术网站http://java-my-life.iteye.com/blog/1275205 在web开发中,经常会用到ifram ...
- javaWeb遍历获取session中的值
//方法一:通过遍历的方法进行遍历 String FileName=""; HttpSession session=request.getSession();//获取session ...
- 使用jquery获取网页中图片的高度——解惑
jQuery获取网页中图片的高度 使用jquery获取网页中图片的高度其实很简单,有两种常用的方法都可以打到我们的目的 $("img").whith();(返回纯数字) $(&qu ...
- JS或jsp获取Session中保存的值
JS是不能读取Session中的值的 . session是服务器对象, javascript是客户端脚本,你能做的操作就是把这个值用 <%=%>输出到页面的javascript中参与运算, ...
- 302重定向之后,session中存储的值没了
302重定向之后,session中存储的值没了
- js获取cookie中存储的值
最近看了试卷题目发现自己会的十分的匮乏, 第一题就把自己难住了,知道有这个东西,但是实际上没有操作过. ========================================= cookie ...
随机推荐
- 设计模式——单例设计模式(C++实现)
#ifndef SINGLETONHOLDER_INC #define SINGLETONHOLDER_INC template<class T> class SingletonHolde ...
- .Net调用钉钉接口,实现发送企业消息功能
我在钉钉官网上看了下,关于调用钉钉接口,发送企业消息通知,他给的核心代码总共几行. 用到的一个接口引用 TopSDK.dll 下载网址https://open-doc.dingtalk.com/doc ...
- python笔记之类
类 python不直接支持私有方式,可以在方法或者属性之前加上双下划线,将其变为私有,即外部无法直接调用 访问私有方法或者属性,方法是: _<类名><变量名> 首先类定义 # ...
- OpenStack中部署glance的步骤
OpenStack中部署glance的步骤(基于Ubuntu14.04系统) author:headsen chen 2017-10-13 08:34:35 个人原创,转载请注明作者,出处, ...
- python web开发-flask读取txt文件内容
某些情况下,需要读取flask网站要目录下的txt文件.但是直接在flask网站的目录下创建一个文件是无法访问的.从网站找了一些资料,最终发现通过写一个方法返回txt内容比较简单方便,不过此方法适用于 ...
- 关于标准ui设计图转换为H5页面的终端适配
一些基本概念 在进行具体实战之前,首先得了解下面这些基本概念(术语): 视窗 viewport 简单的理解,viewport是严格等于浏览器的窗口.在桌面浏览器中,viewport就是浏览器窗口的宽度 ...
- leetCode:206 反转链表
206. 反转链表 题目:反转一个单链表. 进阶:链表可以迭代或递归地反转.你能否两个都实现一遍? 非递归代码: class Solution { public ListNode reverseLis ...
- ssh 提示Connection closed by * 的解决方案
使用ssh方式连接linux系统时,发现一直上报这个错误: Connection closed by 192.168.3.71 port 22 刚开始还以为是端口被防火墙禁止了呢,通过关闭和查看,并没 ...
- 【Python】 魔法方法
魔法方法 这个名字真的很中二有没有 = =(或者说翻译气息太浓了,作为一个学外语的看到这种真是想吐槽的不行..) 从形式上来说,在方法的名字前后个加上两条下划线的就是魔法方法了 .从功能上说,所有魔法 ...
- 将 Shiro 作为应用的权限基础 三:基于注解实现的授权认证过程
授权即访问控制,它将判断用户在应用程序中对资源是否拥有相应的访问权限. 如,判断一个用户有查看页面的权限,编辑数据的权限,拥有某一按钮的权限等等. 一.用户权限模型 为实现一个较为灵活的用户权限数据模 ...