session的取值與傳值
阿新 • • 發佈:2019-02-03
伺服器設定session後,前臺獲取程式碼的方法有3種:
第一種是直接用el表示式,
第二種是用JSP表示式。
第三種是網上說的,用jquerySession取值。但是測試中無法取到,我的判斷是,jquery無法直接通過伺服器獲取session,需要伺服器先將session傳到客戶端前臺,然後jquerySession才能取值。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
至於在客戶端前臺中 直接儲存session是不允許的,需要通過伺服器操作。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
controller中程式碼
前臺程式碼@RequestMapping(value = "/demo") public String Demo(HttpSession session){ session.setAttribute("adminAccount","username=admin;password=123456"); System.out.println("adminAccount: " + session.getAttribute("adminAccount")); System.out.println("test1: " + session.getAttribute("test1")); System.out.println("test2: " + session.getAttribute("test2")); System.out.println("test3: " + session.getAttribute("test3")); return "demo"; }
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page isELIgnored="false" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path; %> <% Object sessionValues=session.getAttribute("adminAccount"); %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="zh-CN"> <head> <title>登陸</title> <link href="<%=basePath%>/resources/css/bootstrap.min.css" rel="stylesheet"> <link href="<%=basePath%>/resources/css/bootstrap-theme.min.css" rel="stylesheet"> <%-- <link href="<%=basePath%>/resources/css/login.css" rel="stylesheet"> --%> <script src="<%=basePath%>/resources/js/jquery-1.11.3.min.js"></script> <script src="<%=basePath%>/resources/js/bootstrap.min.js"></script> <script src="<%=basePath%>/resources/js/jquery.cookie.js"></script> <script src="<%=basePath%>/resources/js/jquerySession.js"></script> <script> $(document).ready(function(){ $.session.set("test1","testcontent"); var session = $.session.get('adminAccount'); var session2 = "${adminAccount}"; var test1 = $.session.get('test1'); <% session.setAttribute("test2", "this is test2"); %> $("button:eq(0)").click(function(){ alert(session); alert(session2); alert(test1); <% session.setAttribute("test3", "this is test3"); %> $("ol").append("<li>show session by el:adminAccount = ${adminAccount}</li>") $("ol").append("<li>show session by el:test1 = ${test1}</li>") $("ol").append("<li>show session by jq:test1 = " + test1 +"</li>") return null; }); }); </script> </head> <body> <button>show session</button> <ol> <li>show session by asp:adminAccount = <%=sessionValues %></li> <li>show session by el:adminAccount = ${adminAccount}</li> </ol> </body> </html>