使用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++实现)
#include <iostream> #include <string> using namespace std; class Handler { public: Handl ...
- python笔记之函数
函数 >>> def funTest(param1): ... 'this is function document string.' #正文需要有缩进 ... return par ...
- delphi GDI 图片压缩代码 据说是位图缩放保持原图视觉效果最好的算法
delphi 图片压缩代码 据说是位图缩放保持原图视觉效果最好的算法 若有更好的,请大神留言我也学习下,感谢! uses WinAPI.GDIPAPI, WinAPI.GDIPOBJ; var Bi ...
- LeNet-5识别MINIST数据集
LeNet-5 LeNet于90年代被提出,鉴于当时的计算能力和内存容量,直到2010年才能真正的实施这样的大规模计算.LeNet-5是LeCun于1998年提出的深度神经网络结构,总共包含7层网络( ...
- python全栈开发-Day8 函数基础
python全栈开发-Day8 函数 一 .引子 1. 为何要用函数之不用函数的问题 #1.代码的组织结构不清晰,可读性差 #2.遇到重复的功能只能重复编写实现代码,代码冗余 #3.功能需要扩展时,需 ...
- 浅谈TCP三次握手和四次挥手
学习三次握手和四次挥手前,先了解下几个基础的概念. Seq:数据段序号,我们都知道TCP是提供有序传输的,有序传输的基础就是数据段序号,接收方在收到发送方乱序包的情况下可以根据Seq进行重新排序,确保 ...
- MYSQL数据库学习六 索引的操作
6.1 索引 由于数据存储在数据库表中,所以索引是创建在数据库表对象上的,由表中的一个或多个字段生成的键组成,这些键存储在数据结构(B-树或哈希表)中,通过索引可以快速有效地查找与键值相关联的字段.根 ...
- python实现维吉利亚密码加密(Vigenère cipher)
最近有个朋友问我关于维吉利亚密码如何用python实现加密,研究之后发现这是个挺好玩的东西,遂决定写篇博文记录一下. 一.何谓维吉利亚密码 第一列是密钥字母列,第一行是明文字母行.不难看出维吉利亚密码 ...
- bug单的生命周期
测试工程师发现了软件的缺陷(bug),那修复bug的整个流程是怎么样的呢? 1.发现bug 2.和开发确认是否是bug 3.如果是bug则提bug单到测试经理,如果不是则放过 4.测试经理把bug单走 ...
- java使用io创建文件与删除文件的工具类
java中对于文件的操作,是再常见不过了.以下代码是自己代码中所用到的工具类,仅供参考. import java.io.File; import java.io.IOException; /** * ...